循环背景工作

时间:2012-09-18 08:16:18

标签: bash

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

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

我收到错误:

bash: syntax error near unexpected token `;'

在zsh中,命令行可以正常工作。

2 个答案:

答案 0 :(得分:97)

删除;睡了之后

for i in $(seq 3); do echo $i ; sleep 2 & done
顺便说一句,这样的循环最好用不正确的缩进写在单独的行上(如果你在shell脚本文件中写这个)。

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

答案 1 :(得分:33)

您可以将后台命令放入()

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