web-dev-qa-db-ja.com

バックグラウンドで複数のコマンドを一緒に実行するにはどうすればよいですか?

&を使用してバックグラウンドでプログラムを実行できることを知っています。

command &

ただし、複数のコマンドを実行し、それらの実行中に別のディレクトリにcdを実行したいと考えています。
複数のコマンドは、以前使用していたディレクトリに依存します。

私は以下を試しましたが、それはバックグラウンドで最後のコマンドを実行するだけです:

command1 && command2 &

これを行うと、解析エラーが発生します。

command1 & && command2 & 

command1command2の前に終了することが重要です。
そのため、以下がそのことを保証するとは思わない:

 command1 &; command2 &;  

私は特定のシェルに縛られていません。

7
Trevor Hickey

(command1; command2)&-する必要があります。bashで動作します。

これにより、サブシェル(2つの括弧)が作成され、サブシェル全体がバックグラウンドで実行されます。

11
EightBitTony