Ich habe eine Antwort auf Ask Ubuntu bearbeitet , die Folgendes vorschlug
nohup gedit >& /dev/null &
Als sie es tatsächlich meinten
nohup gedit &> /dev/null &
Letzteres leitet sowohl stderr als auch stdout korrekt nach um /dev/null. Ich hatte damit gerechnet, dass ersteres entweder eine Datei mit dem Namen "" erstellt &oder eher einen Fehler ausgibt, wie dies in anderen Fällen der Fall ist:
$ echo "foo" >&
bash: syntax error near unexpected token `newline'
Stattdessen scheint es genauso zu funktionieren wie das vorherige, es gediterscheint ein Fenster und es wird keine Fehlermeldung ausgegeben.
Ich sollte auch beachten, dass dies Shell-spezifisch ist:
bash(4.2.45 (1) -release),zsh(5.0.2),csh(deb package version: 20110502-2) undtcsh(6.18.01): Funktioniert wie oben beschrieben, keine Fehlermeldung, keine Dateien erstellt.dash(0,5,7-3):$ nohup gedit >& /dev/null & $ dash: 2: Syntax error: Bad fd numberksh(93u + 2012-08-01): schlägt fehl, aber anscheinend wird ein Prozess gestartet (1223), obwohl keingeditFenster angezeigt wird:$ nohup gedit >& /dev/null & [1] 1223 $ ksh: /dev/null: bad file unit numberfish(2.0.0):> nohup gedit >& /dev/null & fish: Requested redirection to something that is not a file descriptor /dev/null nohup gedit >& /dev/null & ^
Warum wird dieser Befehl in einigen Shells einfach ohne Fehler (und ohne erstellte Ausgabedatei) ausgeführt und in anderen schlägt er fehl? Was >&macht man in dem scheinbar besonderen Fall von nohup? Ich vermute, dass >& /dev/nulldies so interpretiert wird, >&/dev/nullaber warum verursacht der Raum in diesen Shells keinen Fehler?
nohup command, Laufen unabhängig tty Ihre application.According zu meinem Gedächtnis, dashverlängert von ash, Debian ash, ashentwickelt von OpenBSDund es ist begrenzt Panzer, auch Maemo OS (Debian Base auf n900 Handy) verwendet dash, ashFamilie Shell haben begrenzte Nutzung von bash oder tcsh erwarten.
dashVersion ausdrucken kann, aber das Paket ist 0.5.7-3, was ist deins? Bist du dir auch sicher, dass du rennst dash? Das ist Ubuntus Standard, shnicht wahr?
nohup, meine Frage ist, warum das >&mit nohup alleine in einigen Shells zu funktionieren scheint.
dash.