-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'
有什么问题,我该如何解决?
P.S.
我测试了这里和这里的一些人的建议:
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 期望 命令 。您可以通过 bash:
代替 运行 循环
sudo bash -c 'for i in {0..9}; do nohup command > log_$i.txt & done'
您不需要使用 seq
命令,因为 bash 有 {0..9}
来支持 "range" 循环。
有关 &
的更多信息,请参见 bash job control(它将 "job" - 您 运行 的命令 - 在后台)。
我在 Mac 终端上执行以下操作:
sudo for i in `seq 0 9`; do nohup my_command > log_$i.txt & done
但我收到以下错误:
-bash: syntax error near unexpected token `do'
有什么问题,我该如何解决?
P.S.
我测试了这里和这里的一些人的建议:
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 期望 命令 。您可以通过 bash:
sudo bash -c 'for i in {0..9}; do nohup command > log_$i.txt & done'
您不需要使用 seq
命令,因为 bash 有 {0..9}
来支持 "range" 循环。
有关 &
的更多信息,请参见 bash job control(它将 "job" - 您 运行 的命令 - 在后台)。