繁体   English   中英

-bash:意外标记“do”附近的语法错误

[英]-bash: syntax error near unexpected token `do'

我在我的 Mac 终端上执行以下操作:

sudo for i in `seq 0 9`; do nohup my_command > log_$i.txt & done

但我收到以下错误:

-bash: syntax error near unexpected token `do'

有什么问题,我该如何解决?

附言

我在这里测试了人们的一些建议,它们是:

1)

(base) user@SERVER:/directory$ sudo for i in `seq 0 9`; do nohup my_command > log_$i.txt &; done

-bash: syntax error near unexpected token `do'

2)

(base) user@SERVER:/directory$ sudo for i in `seq 0 9`; do nohup my_command > log_$i.txt ; done

-bash: syntax error near unexpected token `do'

3)

(base) user@SERVER:/directory$ sudo for i in `seq 0 9`; do nohup my_command > log_$i.txt done

-bash: syntax error near unexpected token `do'

4)

(base) user@SERVER:directory$ sudo bash -c for i in `seq 0 9`; do nohup my_command > log_$i.txt & done

-bash: syntax error near unexpected token `do'

通过 sudo 运行for不起作用,因为 sudo 需要一个command 您可以改为通过 bash 运行循环:

sudo bash -c 'for i in {0..9}; do nohup command > log_$i.txt & done'

您不需要使用seq命令,因为 bash 具有{0..9}来支持“范围”循环。

有关&的更多信息,请参阅bash 作业控制(它将“作业” - 您运行的命令 - 置于后台)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM