シェルスクリプト if文

12月 25, 2009

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

パターン1

if文1

パターン2

if文2

パターン3

if文3

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

if文1-2

以下でも可能ではあるが・・・、判りづらいので使用は避けた方がいいような。

if文2-2

条件式内のAND条件は-aで表す。-oならOR条件になる。

if_AND条件

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

条件式1 AND (条件式2 OR 条件式3)
※条件式1が真かつ条件式2または条件式3が真



Categories: shell