Пытался:
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» — это не команда, это встроенная функция оболочки.
решение3
while на самом деле является командой, встроенной в bash, а не отдельным исполняемым файлом, поэтому nohup не может ее запустить. Если вы хотите это сделать, вам нужно будет поместить свои команды в файл, а затем использовать nohup для запуска этого файла.