我尝试在bash中的for循环中运行后台作业:
for i in $(seq 3); do echo $i ; sleep 2 & ; done
我收到错误消息:
bash: syntax error near unexpected token `;'
在zsh中,命令行有效。
我尝试在bash中的for循环中运行后台作业:
for i in $(seq 3); do echo $i ; sleep 2 & ; done
我收到错误消息:
bash: syntax error near unexpected token `;'
在zsh中,命令行有效。
Answers:
除掉 ; 睡觉后
for i in $(seq 3); do echo $i ; sleep 2 & done
顺便说一句,这样的循环最好在带有适当缩进的单独行上编写(如果要在Shell脚本文件中编写)。
for i in $(seq 3)
do
echo $i
sleep 2 &
done
$i
在后台命令中执行此操作时,作业控制提示进程名称包含的$i
不是实际的$i
was值,为什么?
for I in <whatever>; do rm -fr $I & done
...- jobs
>rm -fr $I
几次,而不是为每个作业删除实际的目录