3日書かないと、すぐ忘れるのでメモ ← ボケ老人
1.特殊変数 $? 直前に実行したコマンドの帰り値 $n スクリプトに渡された n番目の引数 (9個まで) $# 引数の個数(引数がない場合は0) $$ シェル自身のプロセスID $! シェルが最後に起動したバックグラウンドプロセスのプロセスID $- シェルの起動時のフラグ、setコマンドを使って設定したフラグの一覧 $* 全引数リスト。全引数がまとめてダブルクォートに囲まれる。"$1 $2 … $n" $@ 全引数リスト。引数一つ一つがダブルクォートで囲まれる。"$1" "$2" … "$n" 最初の3つを覚えていれば、95%事足りる。 2.関数の作り方 書式 関数名() { 処理 } 引数 $n サンプル #!/usr/bin/sh MyFunc() { echo "引数:$1" } MyFunc arg1 3.制御構文 <b>if文</b> if [ $1 = "hoge" ]; then 処理 elif [ $1 = "fuge" ] 処理 else 処理 fi <b>for文 </b> for str in `cat /tmp/file` do echo $str done <b>while文 </b> i=1 while [ $i -lt 3 ] do echo "i = $i" i=`expr $i + 1` done 4.条件式の書き方 文字列評価 = 両辺の文字列が一致したとき真 != 両辺の文字列が一致しないとき真 -n 変数 変数がnullでないときに真 -z 変数 変数がnullのときに真 数値評価 -lt より小さい -le 以上 -eq 等しい -ge 以上 -gt より大きい -ne 等しくない ファイル属性評価 -d file fileが存在してディレクトリのとき真 -e file fileが存在するとき真 -f file ファイルが存在し普通のファイルのとき真 論理演算子 -a かつ -o または