Testado:
while true; do date; sleep 1; done
Pegou:
Thu Aug 27 17:33:24 IDT 2009
Thu Aug 27 17:33:25 IDT 2009
Thu Aug 27 17:33:26 IDT 2009
...
Mas:
nohup while true; do date; sleep 1; done
Me peguei:
bash: syntax error near unexpected token `do'
Alguma idéia do porquê?
Responder1
Se você REALMENTE quisesse fazer tudo na linha de comando sem criar um script, faça o seguinte:
nohup bash -c "while true; do date; sleep 1; done"
Responder2
nohup recebe um comando, "while" não é um comando, é um shell embutido.
Responder3
while é na verdade um comando integrado ao bash, não um executável separado, portanto, nohup não pode executá-lo. Se quiser fazer isso, você precisará colocar seus comandos em um arquivo e usar nohup para executar esse arquivo.