Bashシェルスクリプトにおける条件分岐「if」文の使い方を解説します。
書式
if文の書式です。
if [ 条件式 ]; then 条件式が真(True)の場合に実行する処理 fi
条件分岐で使える比較演算子
Bashシェルで、if文を使う際に使用可能な比較演算子です。
*文字列と数値で使用する演算子が異なります。
文字列の比較
文字列を比較する際に使用する演算子です。
比較演算子 | 説明 |
---|---|
文字列A = 文字列B | 文字列A と 文字列B が等しければ真(True) |
文字列A != 文字列B | 文字列A と 文字列B が等しくなければ真(True) |
-n 文字列X | 文字列X の長さが「1」以上であれば真(True) |
-z 文字列X | 文字列X の長さが「0」であれば真(True) |
数値の比較
数値を比較する際に使用する演算子です。
比較演算子 | 説明 |
---|---|
数値A -eq 数値B | 数値A と 数値B が等しければ真(True):equal |
数値A -ne 数値B | 数値A と 数値B が等しくなければ真(True):not equal |
数値A -lt 数値B | 数値A が 数値B より小さければ真(True):less than |
数値A -le 数値B | 数値A が 数値B 以下なら真(True):less than or equal |
数値A -gt 数値B | 数値A が 数値B より大きければ真(True):greater than |
数値A -ge 数値B | 数値A が 数値B 以上なら真(True):greater than or equal |
if文のサンプル
if文で条件分岐を行うサンプルです。
文字列の条件分岐例
文字列が一致する場合のサンプルです。
#!/bin/bash var=sample if [ $var = sample ]; then echo 文字列は一致します。 fi
シェルの実行結果です。
文字列が一致するため、「文字列は一致します。」と表示されます。
[root@SYUTAKUWEB01 workspace]# sh sample.sh 文字列は一致します。
文字列が一致しない場合のサンプルです。
#!/bin/bash var=test if [ $var = sample ]; then echo 文字列は一致します。 fi
シェルの実行結果です。
文字列が一致しないため、何も表示されません。
[root@SYUTAKUWEB01 workspace]# sh sample.sh [root@SYUTAKUWEB01 workspace]#
リンク
数値の条件分岐例
数値が一致する場合のサンプルです。
#!/bin/bash var=777 if [ $var -eq 777 ]; then echo 数値は一致します。 fi
シェルの実行結果です。
数値が一致するため、「数値は一致します。」と表示されます。
[root@SYUTAKUWEB01 workspace]# sh sample.sh 数値は一致します。
数値が一致しない場合のサンプルです。
#!/bin/bash var=100 if [ $var -eq 777 ]; then echo 数値は一致します。 fi
シェルの実行結果です。
文数値が一致しないため、何も表示されません。
[root@SYUTAKUWEB01 workspace]# sh sample.sh [root@SYUTAKUWEB01 workspace]#
リンク
コメント