nohup Problem beim Befehl mit Argumenten

5457
Adam Matan

Versucht:

while true; do date; sleep 1; done 

Habe:

Thu Aug 27 17:33:24 IDT 2009 Thu Aug 27 17:33:25 IDT 2009 Thu Aug 27 17:33:26 IDT 2009 ... 

Aber:

nohup while true; do date; sleep 1; done 

Hast mich:

bash: syntax error near unexpected token `do' 

Irgendwelche Ideen warum?

1

3 Antworten auf die Frage

4
Sean Staats

Wenn Sie wirklich alles in der Befehlszeile ausführen möchten, ohne ein Skript zu erstellen, führen Sie folgende Schritte aus:

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

nohup nimmt einen Befehl an, "while" ist kein Befehl, sondern eine eingebaute Shell.

1
Corey McKinnon

Während es sich tatsächlich um einen Befehl handelt, der in bash integriert ist, ist dies keine separate ausführbare Datei. Daher kann Nohup sie nicht ausführen. Wenn Sie dies tun möchten, müssen Sie Ihre Befehle in eine Datei einfügen und dann die Datei mit nohup ausführen.