尝试过:
while true; do date; sleep 1; done
得到:
Thu Aug 27 17:33:24 IDT 2009
Thu Aug 27 17:33:25 IDT 2009
Thu Aug 27 17:33:26 IDT 2009
...
但:
nohup while true; do date; sleep 1; done
得到我了:
bash: syntax error near unexpected token `do'
知道原因吗?
答案1
如果您确实想在命令行上完成所有操作而不编写脚本,请执行以下操作:
nohup bash -c "while true; do date; sleep 1; done"
答案2
nohup 接受一个命令,“while”不是一个命令,它是一个 shell 内置命令。
答案3
while 实际上是 bash 内置的命令,而不是单独的可执行文件,因此 nohup 无法运行它。如果要执行此操作,您需要将命令放入文件中,然后使用 nohup 运行该文件。