bashでシェルスクリプトすぐ忘れる
bashでシェルスクリプトを時々書くけど、すぐ忘れるんだなー。まず、直前に実行された関数やコマンドの戻り値を取得するには「$?」を使う。通常、成功したら0、失敗したら1。この結果をもとに処理を行うには以下のようにif文で制御する。
if [ $? -eq 0 ];then # 成功したとき else # 失敗したとき fi
ちなみに-eqは数字の比較。文字列の比較には「=」を使う。$NAMEが空っぽ(宣言されてないとか空文字とか)かどうか確認するには以下のようになる。
if [ "$NAME" = "" ];then echo "空っぽ" fi
ここが分かりやすい→UNIXシェルスクリプトメモ(Hishidama's UNIX shell script Memo)
あと、配列。宣言は
ARR[0]=hiro ARR[1]=nemu
という風にできるし
ARR=(hiro nemu)
という風にもできる。後の方が簡単に書けていいね。そして、この配列をループするには以下のようにするらしい。
for value in ${ARR[@]};do echo $value done
ARRの[]の中に@か、*を付けると配列の中身全部という意味になるんだって。なんだろねこれ。
こののサイトに分かりやすく説明が→http://www.fireproject.jp/feature/bash/basic/variable.html#4