给出带有参数的命令时出现 nohup 问题

给出带有参数的命令时出现 nohup 问题

尝试过:

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 运行该文件。

相关内容