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