僕のための zsh の変数宣言とパラメータと test / let コマンドについてのメモ
*sh の local, typeset, decrare のそれぞれの違いと $@, $* のそれぞれの違いと [, [[, (, (( のそれぞれの違いとその他色々何回ググってもすぐ忘れるので健忘症の可能性がある
— 人間 (@mitukiii) 2014, 5月 3
毎回忘れてはググってというのを繰り返してるので書いとく
変数宣言について
declare local typeset の違いよく分かってない
— 人間 (@mitukiii) 2013, 10月 24
declare は typeset と同じ。local は -g と -f オプションがないこと以外は typeset と同じとのことです。(man zshbuiltins 参照)
— 人間 (@mitukiii) 2014, 5月 3
パラメータについて
$* と $@ は、セミコロンでエスケープした上で他の関数に渡した時に、$* の場合はスペース区切りの文字列となって渡り、$@ の場合は配列で渡るとのことです。エスケープしない場合はどちらも配列で渡るとのこと。
— 人間 (@mitukiii) 2014, 5月 3
test コマンド と let コマンドについて
shell の [[ cond ]] と [ cond ]、( expr ) と (( expr )) の違いよく分かってない
— 人間 (@mitukiii) 2013, 6月 5
@mitukiii '['は testコマンド相当ですが, '[['はそれに加えて &&, ||が使えるるようです。(testだと-a -oになる)。'('は式が書けるだけのようですが、'(('はlet相当のようです。letだと'$'なしで変数を参照できることができるみたいです。
— Syohei YOSHIDA (@syohex) 2013, 6月 5