以下のような方法で表現可能。
bash等の文法制約の関係上、下記は留意すること。
- []と条件式の間の半角スペース等には注意。
- 他にもif~else~fiの中に何も処理を入れないと、
怒られるので注意。(:と書くことで回避できる)
- [:=:unaryといったエラーを回避するため、変数を比較する場合は[ "$変数" = "" ]のように変数を""で囲った方が良い。
1.testを使う。
if test 条件式
then
fi
2.[]を使う。 ※[]と条件式の間の半角スペースを忘れないこと
if [ 条件式 ]
then
fi
3.条件式の後、改行せずに続ける
if [ 条件式 ];then
fi
4.else ifやelseも書く
if [ 条件式 ];then
elif 条件式; then
else
fi
5.&&, ||, Pattern matching, 正規表現も使う
[[ 条件式 ]]
条件式の例は以下の通り。
条件A -a 条件B |
AND条件。[]&&[]とすることも可能。違いは-aが1つのtestコマンドで条件判定するのに対し、[]&&[]は終了ステータスコードを判断してから次の条件判定をする点。 |
条件A -o 条件B |
OR条件。[]||[]とすることも可能。違いは-aが1つのtestコマンドで条件判定するのに対し、[]||[]は終了ステータスコードを判断してから次の条件判定をする点。 |
-eq |
数値の=条件(equal) |
-ne |
数値の≒条件(not equal) |
-lt |
数値の<条件(less than) |
-le |
数値の<=条件(less than or equal) |
-gt |
数値の>条件(greater than) |
-ge |
数値の>=条件(greater than or equal) |
-n |
変数が空じゃない時 |
-z |
変数が空の時 |
= |
文字列の=条件 |
!= |
文字列の!=条件 |
-e |
ファイルが存在する時 |
-d |
ディレクトリの時 |
-f |
ファイルの時 |
頭に! |
条件式の否定 |
他にも色々なオプションがあるので、
詳しく見たい場合は、man [等で見てみよう。
最終更新:2019年11月17日 13:01