在后台多次运行相同的命令

Seb*_*ebi 19 command-line bash background-process

如何使用 bash 运行多个命令并在后台运行它们?

例如:

$ for i in {1..10}; do wait file$i &; done
Run Code Online (Sandbox Code Playgroud)

其中 wait 是自定义二进制文件。

现在我收到一个错误:

syntax error near unexpected token `;'
Run Code Online (Sandbox Code Playgroud)

运行上述命令时。

一旦后台运行,命令应该并行运行。

ter*_*don 27

&,就像;是一个列表终止符。它们具有相同的语法并且可以互换使用(取决于您想要做什么)。这意味着您不想要或不需要 ,command1 &; command2您只需要command1 & command2.

所以,在你的例子中,你可以写:

for i in {1..10}; do wait file$i & done
Run Code Online (Sandbox Code Playgroud)

每个wait命令都将在后台启动,循环将立即转到下一个。