書式

if CONDITION; COMMANDS_TRUE...;
[else if CONDITION2; COMMANDS_TRUE2...;]
[else; COMMANDS_FALSE...;]
end

概要

if コマンドは条件式となる
コマンド CONDITION を実行します。

条件式の 終了ステータス が0であれば、
COMMANDS_TRUE を実行します。

0以外で else があるときは、
COMMANDS_FALSE を実行します。

andor を条件式に使えます。

2番目の例を参照してください。

$status は最後のフォアグラウンドの
コマンドの終了ステータスで、
いつでもアクセスできます。

実行例

以下のコードは以下の表示をします。

  • foo.txtが通常ファイルとして
    存在するときに「foo.txt exists」
  • そうではなくて、
    bar.txtが通常ファイルとして
    存在するときに「bar.txt exists」
  • どちらも存在しないときは
    「foo.txt and bar.txt do not exist」
if test -f foo.txt
    echo foo.txt exists
else if test -f bar.txt
    echo bar.txt exists
else
    echo foo.txt and bar.txt do not exist
end

以下のコードはfoo.txtが
通常ファイルかつ読み込み可能なときに、
「foo.txt exists and is readable」
と表示します。

if test -f foo.txt
   and test -r foo.txt
   echo 'foo.txt exists and is readable'
end

test コマンドも参照してください。

最後までお読みいただき、ありがとうございました。参考になれば嬉しいです。