コマンドの条件付き連続実行

コマンドは ";" (セミコロン) で並べて書くことができます。

$ echo 1; echo 2; echo 3
1
2
3

これは "|" (パイプ) のように出力を次のコマンドに渡したりは せず、単純に連続で実行します。

";" (セミコロン) ではなく "&&" (AND演算子) を使うと 前のコマンドが正常終了した場合のみ 次のコマンドを実行します。

$ echo 1 && false && echo 2
1

"false" は、必ず異常終了するコマンドです。 "false" で異常終了したため、 "echo 2" が実行されませんでした。

逆に前のコマンドが異常終了した場合のみ 次のコマンドを実行する "||" (OR演算子) もあります。

$ false || echo 1
1

コマンドが異常終了したときに 特別な処理をさせるなどできます。

あくまで前のコマンドの実行結果がどうか ということなので、次のように書いた場合 先頭から順に判定されます。

$ echo 1 && false || echo 2 && false || echo 3
1
2
3

Google サイト内検索

Amazonアソシエイト