bash - testコマンド
testコマンドは制御文の条件に使われます。
与えられた条件式expressionが真なら終了コード0を、偽なら終了コード1を返します。
また、 [ ] はtestコマンドの別名です。 [ ]の前後にはスペースが必要。
test expression [ espression ]
数値を比較するオプション
-lt 左項が右項より小さい場合真(less then) -le 小さいか等しい場合真(less then equal) -gt 大きい場合真(greater then) -ge 大きいか等しい場合真(greater then equal) -ep 等しい場合真(equal) -ne 等しくない場合真(not equal) if [ $1 -lt $2 ]; then #
文字列を比較するオプション
文字列の比較は特殊文字を含むことが多いので""で囲んだほうがよい
= 左項と右項が同一文字列の場合真 != でない場合真 str 文字列がnullでない場合真 -n 文字列がnullでない場合真(not zero) -z の場合真(zero) if [ "$1" = "$2" ]; then
ファイルに関するオプション
-d ディレクトリなら真 -f 普通のファイルなら真 -r 読み出し可能なら真 -s サイズが0より大きければ真 -w 書き込み可能なら真 -x 実行可能なら真 if [ -f "file1" ]; then
条件式を論理演算するオプション
-a 左項条件式と右項条件式のどちらも真の場合真(and) -o どちらかが真の場合真(or) ! 条件式の否定(not) () ()の中の条件式を優先する if [ $1 -lt $2 -a \( $1 -lt $4 \) -o $2 -lt $3 ]