シェルスクリプトコマンドを順次実行する

シェルスクリプトコマンドを順次実行する

私のスクリプト(.ksh):

cmd1 & cmd2

cmd1バックグラウンドで実行し、cmd2起動後にのみ実行を開始したいと思います。cmd1ただし、スクリプトを実行するとcmd2以前に起動し、cmd1問題が発生します。

この問題をどのように解決できますか?

ベストアンサー1

条件付き演算子を使用すると、&&他の実行が開始される前に1つの実行が「完了」するように強制できます。 (「完了」は実際にプロセスをバックグラウンドで送信するため、「完了」を引用符で囲んでいます。)

しかし、

$ (echo "foo" &) ; echo "bar"

出力することができる

bar
foo

次のような

$ (echo "foo" &) && echo "bar"

出力されます

foo
bar

なぜなら、シェルは2番目のコマンドを実行する前に最初のコマンドの終了状態を決定する必要があるからです。

おすすめ記事