(アンパサンド)演算子:バッシュ&Iは、bashシェルに並列に3つのコマンドを実行しようとしている
$ (first command) & (second command) & (third command) & wait
これで問題がfirst command
が失敗した場合、例えば、終了コードが0
であるということである(I 〜が成功したので、wait
が成功したため)
コマンドのいずれかが失敗した場合、終了コードはゼロ以外の値になります(理想的には、実行中の他のコマンドは停止します)。
これをどのように達成できますか?
コマンドを並行して実行したいことに注意してください。
私はリターンコードの点ではうまくいくと思いますが、コマンドは並行して実行しません。 – jcollado
合意し、私の答えにもメモを作った。しかし、コマンドが並行して実行されている場合、2番目のコマンドが実行されたときに前のコマンドが終了していないため、終了コードを確認できません。 – anubhava
ここでの主な制約は、コマンド**を並列に実行することです**。コマンドが並行して実行され、失敗の場合には終了コードがゼロでない限り、この1行をより複雑なbashスクリプトに置き換えることはできます。 –