下記で、zshでコマンドを確認する時に(( ${+commands[peco]} ))
のような記述を見かけました。commands
はzshが自動で用意している実行できるコマンドを含む連想配列だと思っています。
この時、(( ))
を使うメリットはあるのでしょうか?二重丸括弧は(( i++ ))
のような計算をする時に使うものだと思っていました。(( $ ))
のようにドルを中で使うとプロセス番号を取得できますが、上記の場合はプロセス番号ではなく、変数展開${+val}
のドル記号でした。これは変数が存在するなら1、ない場合は0と評価するものです。
二重丸括弧を使わなくても、echo ${+commands[bash]}
で1
と表示させることが出来ました。何かzsh
では二重丸括弧を使っておかないと困るようなことがあるのでしょうか?
どうぞよろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/10 21:10
退会済みユーザー
2016/06/11 14:36