假设我想运行echo
nested into watch
nested into nohup
。
从栈底开始:
echo test
没问题。
watch -n 1 'echo test'
watch -n 1 "echo test"
这些也没有问题。
nohup 'watch -n 1 "echo test"'
nohup "watch -n 1 'echo test'"
这些问题:
~$ nohup 'watch -n 1 "echo test"'
~$ nohup: ignoring input and appending output to ‘nohup.out’
~$ nohup: failed to run command ‘watch -n 1 "echo test"’: No such file or directory
~$ nohup "watch -n 1 'echo test'"
~$ nohup: ignoring input and appending output to ‘nohup.out’
~$ nohup: failed to run command ‘watch -n 1 'echo test'’: No such file or directory
如何让 nohup 执行 [double-] 引用的内部命令?
nohup
不期待任何报价。它不知道如何与他们打交道。你想要的命令很简单:
在这种情况下,您甚至可以不使用内引号:
不过要注意它是如何
nohup
工作的。它以非常原始的方式重定向所有输出。您将无法以完全相同的方式监视 watch 的输出。