シェルスクリプト if文
12月 25, 2009
シェルスクリプトにおいて、if文は条件の評価に基づいて処理を分岐させる。
評価は条件式が返すステータスによって行われる。fiはコマンドの終了を示す。
パターン1

パターン2

パターン3

単純な条件チェックにはパターン1を使用。条件が真にならなかった場合は何も実行されない。
パターン2では真偽の両方で何らかの命令が実行される。
パターン3は複数の条件式を設定できる。
条件判定の対象(変数)が同一で値のみ違う場合は、case文を利用してもいい。
then/else/fiの前には改行が必要だが、「;」で代用できるため以下のような書式でも可。

以下でも可能ではあるが・・・、判りづらいので使用は避けた方がいいような。
![]()
条件式内のAND条件は-aで表す。-oならOR条件になる。

3つ以上の条件は( )カッコを用いてネストする。ネストは必ずしも必要ではないが、
分かりやすくするためにも。書式の例としては以下のようになる。
カッコの前は\(バックスラッシュ)でエスケープすること。
条件式1 AND (条件式2 OR 条件式3)
※条件式1が真かつ条件式2または条件式3が真
Categories: shell