循环背景工作

我尝试在bash中的for循环中运行后台作业:

for i in $(seq 3); do echo $i ; sleep 2 & ; done 

我收到错误:

 bash: syntax error near unexpected token `;' 

在zsh中,命令行工作。

去除 ; 睡了之后

 for i in $(seq 3); do echo $i ; sleep 2 & done 

顺便说一句,这样的循环更好地写在适当的缩进(如果你正在编写一个shell脚本文件)单独的行。

 for i in $(seq 3) do echo $i sleep 2 & done 

你可以把后台命令放在()

 for i in $(seq 3); do echo $i ; (sleep 2 &) ; done