bashを使用して複数のコマンドを実行し、バックグラウンドで実行する方法は?
たとえば、
$ for i in {1..10}; do wait file$i &; done
ここで、waitはカスタムバイナリです。
これでエラーが発生します。
syntax error near unexpected token `;'
上記のコマンドを実行したとき。
バックグラウンドでは、コマンドは並列に実行する必要があります。
ベストアンサー1
&
、;
同じリストターミネーターオペレーター。これらは同じ構文を持ち、(必要な操作に応じて)互いに置き換えて使用できます。これはあなたが望むか必要とするのではなく、command1 &; command2
単に必要であることを意味しますcommand1 & command2
。
したがって、あなたの例では、次のように書くことができます。
for i in {1..10}; do wait file$i & done
各wait
コマンドはバックグラウンドで始まり、ループはすぐに次のコマンドに移動します。