;
1行に2つのコマンドを接続するとき、Bashは2番目のコマンドを実行する前に最初のコマンドが終了するのを待つことを常に想定していますか?同様に、異なる行に2つの異なるコマンドを含むシェルスクリプトでは、Bashは2行目のコマンドを実行する前に常に1行目のコマンドが終了するのを待ちます。
この場合、最初のコマンドが完了するまで2番目のコマンドが待たないように、1行またはスクリプトで両方のコマンドを実行する方法はありますか?
また、シェルスクリプトの他の行は、またはでリンクされている;
別の行と同じですか&&
?
ベストアンサー1
そうですね。スクリプトのコマンドはデフォルトで順次実行されます。
&
コマンドにサフィックス(シングルアンパサンド)を追加して、バックグラウンドでコマンドを実行できます。
別の行にあるコマンドは、デフォルトで;
使用される組み合わせコマンドと同じです。ゼロ以外の終了コード(set -e
)でシェルを停止するように指示すると、スクリプトはすべてのコマンドが一緒に実行されたかのように実行されます&&
。