Как мне получить nohup для выполнения [двойных] заключенных в кавычки внутренних команд?
Допустим, я хочу бежать echo
вложенный в watch
вложенный в 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 для выполнения [двойных] заключенных в кавычки внутренних команд?
1 ответ
Решение
nohup
не ожидаю никаких кавычек. Он не знает, как с ними бороться.
Команда, которую вы хотите, это просто:
nohup watch -n 1 'echo test'
В этом случае вы даже можете обойтись без внутренних кавычек:
nohup watch -n 1 echo test
Просто осознавать, как nohup
работает хоть. Он перенаправляет весь вывод довольно сырым способом. Вы не сможете контролировать вывод часов таким же образом.