複数のコマンドを実行して待ちます。

複数のコマンドを実行して待ちます。

複数のコマンドを同時に実行し、すべてのコマンドが完了したら別のコマンドを実行したいと思います。このコマンド1とコマンド2のように、「コマンド1と2が完了しました」コマンド3とコマンド4

ベストアンサー1

command1 &
command2 &

wait
echo 'command1 and command2 have finished'

command3 &
command4 &

wait
echo 'command3 and command4 have finished'

呼び出しは、waitすべてのバックグラウンドジョブの実行が完了するまでスクリプトを一時停止します。

または(「参照のみ」)コマンド1と2を同時に実行するかどうか(コマンド3と4と同じ):

( command1; command2 ) &
echo 'command1 and command2 are running'
wait
echo 'command1 and command2 have finished'

上記の場合とは、command1バックcommand2グラウンドで実行されますが、互いに同時には実行されません。


行為

command1 & command2
wait

等しい

command1 &
command2
wait

...これは機能しますが、command2バックグラウンドで実行されず、wait実行が完了するまで呼び出されません。command2

おすすめ記事