複数のコマンドを連結して実行する方法
シェルスクリプトにおいて、; & && || でコマンドを連結することで複数のコマンドを連続して実行することができます。
; (セミコロン)
;は前のコマンドが終了すると次のコマンドが実行されます。
$ command1 ; command2
上記の場合にはcommand1が終了するとcommand2が実行されます。
& (アンパサンド)
& は前のコマンドの終了を待たず次のコマンドが実行されます。
$ command1 & command2
上記の場合にはcommand1を実行しながらcommand2を実行します。
&&
前のコマンドが終了ステータス0で正常終了した場合に次のコマンドを実行します。
異常終了した場合はcommand2は実行されません。
$ command1 && command2
上記の場合にはcommand1が正常終了した場合にcommand2を実行します。
command1が異常終了した場合にはcommand2は実行されません。
||
前のコマンドが終了ステータス0以外で異常終了した場合に次のコマンドを実行します。
前のコマンドが正常終了した場合には次のコマンドは実行されません。
$ command1 || command2
上記の場合にはcommand1が異常終了した場合にcommand2を実行します。
正常終了した場合はcommand2は実行されません。