проблема nohup, когда дана команда с аргументами

5113
Adam Matan

Пытался:

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

3 ответа на вопрос

4
Sean Staats

Если вы ДЕЙСТВИТЕЛЬНО хотели сделать все это из командной строки, не создавая сценарий, сделайте следующее:

nohup bash -c "while true; do date; sleep 1; done" 
2
bobmcn

nohup принимает команду, а while это не команда, а встроенная оболочка.

1
Corey McKinnon

Хотя на самом деле это команда, встроенная в bash, а не отдельный исполняемый файл, поэтому nohup не может ее запустить. Если вы хотите сделать это, вам нужно поместить свои команды в файл, а затем использовать nohup для запуска этого файла.