shell

A collection of 5 posts
Add completions to fish shell
fish

Add completions to fish shell

fish shell は .config/fish/completions 以下に completions 用のスクリプトを置きます。 A directory for end-users to keep their own completions, usually ~/.config/fish/completions (controlled by the XDG_CONFIG_HOME environment variable); fish: Documentation - Tab completion また、 git など有名どころのコマンドの completions は公式リポジトリで公開されているので、まずはここから探すのが良いと思われます。 * fish-shell/share/completions at master · fish-shell/fish-shell · GitHub 例えば
1 min read
fish shell
shell

fish shell

[2019/01/17 追記] 記事内で紹介している fish のパッケージマネージャの Fisherman が 2018/10/05 にメジャーアップデートしており、 fisher install が fisher add に変わる等、大幅に変更されています(コメント欄参照)。プロダクト名も Fisherman から Fisher へ変わっています。 * Release 3.0.0 · jorgebucaran/fisher · GitHub 記事内で fisher install としている箇所は適宜読み替えて下さい。 🙏 今まで zsh をつかっていたのですがなんとなく fish に移行してみました。 * fish shell 雑な印象 zsh や bash では少しいじらないと入力中のコマンドのサジェスチョンなどをやってくれませんが、 fish
4 min read
Display my server Load Average in OSX menu bar
shell

Display my server Load Average in OSX menu bar

最近あだちんの家に行って(たまに遊びに行ってノートPCを借りて遊んでいる)bitbarを入れて遊んできたので、私も気分転換にbitbarで個人サーバのロードアベレージを表示させてみました。 以下の雑なスクリプトを作成してbitbarのプラグインディレクトリ(私は~/Dropbox/bitbarにしている)にget-loadavg5.5m.shという名前で保存します。 * ファイル名はプラグイン名.時間.拡張子という命名規則 * mkrでmackerelからメトリックを取得して結果をechoしているだけ #!/bin/bash hostId=XXXXXXXX export MACKEREL_APIKEY="YYYYYYYY" loadavg5=$(/usr/local/bin/mkr fetch -n loadavg5 $hostId | /usr/local/bin/jq ".\"$hostId\".loadavg5.value") echo ?:${loadavg5:0:4} できた。超平和。表示する意味がない...。 上のスクリプトではLAが10
1 min read
Use bash parameter
shell

Use bash parameter

bash parameterなるものを教えてもらったので試してみる 変数のデフォルト値を決められて、もし環境変数とかで指定されていればそれを使ってくれるらしい! $ man sh ... ${parameter:-word} Use Default Values. If parameter is unset or null, the expansion of word is substituted. Otherwise, the value of parameter is substituted. ... 実験用にこんなスクリプトを用意 #!/bin/sh echo ${MY_PARAMETER:-'is default parameter'} 実行 $ ./param.sh is default parameter MY_PARAMETERに値をセットしてみる $ export MY_PARAMETER=
1 min read
bash

What is bash option `-x`

※ 2014/12/17追記 man bashを見ると ... -x file True if file exists and is executable. ... となっているが実際に$ bash -x script.shとすると実行内容がエコーされる なんでだろうと思ったら「CONDITIONAL EXPRESSIONS(条件式)」のコーナーに書いてあった 実行内容がエコーされる-xオプションは別にありそう CONDITIONAL EXPRESSIONS Conditional expressions are used by the [[ compound command and the test and [ builtin commands to test file attributes and perform string and arithmetic
1 min read