循环背景工作

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

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

我收到错误:

 bash: syntax error near unexpected token `;' 

在zsh中,命令行工作。

2 Solutions collect form web for “循环背景工作”

去除 ; 睡了之后

 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 
  • Bash:执行前打印每个命令?
  • Bashvariables作用域
  • 反复运行一个shell命令,直到失败?
  • 在“:$ {foo = value}”中对冒号操作符的解释
  • Bash检查显示文件是否存在不存在的文件?
  • Bash if ; 返回true
  • 如何在bash if / else语句中使用grep比较文件?
  • 如何从Bash中的string中删除最后n个字符?
  • 用“sudo”重复上一个命令
  • 如何检索bash中的命令输出的第一个单词?
  • Bash:将文件中的行读入数组