Lösung 1:
Sie können die Ausgabe jedes Programms umleiten, sodass sie nicht gesehen wird.
$ program > /dev/null
Dadurch wird die Standardausgabe umgeleitet - Sie werden weiterhin alle Fehler sehen
$ program &> /dev/null
Dadurch wird die gesamte Ausgabe umgeleitet, einschließlich Fehler.
Lösung 2:
Auf der Befehlszeile stehen drei E/A-Geräte zur Verfügung.
standard input - 0
standard output - 1
standard error - 2
Um die Standardausgabe (die Standardausgabe) in eine Datei umzuleiten (und die Datei zu überschreiben), verwenden Sie
command > file.log
Verwenden Sie zum Anhängen an file.log zwei >
s
command >> file.log
Verwenden Sie
, um den Standardfehler auf die Datei „file.log“ umzuleiten command 2> file.log
Und zum Anhängen
command 2>> file.log
Um die Ausgaben in einem Stream zu kombinieren und sie alle an einen Ort zu senden
command > file.log 2>&1
Dies sendet 2 (Standardfehler) in 1 (Standardausgabe) und sendet die Standardausgabe an file.log
Beachten Sie, dass es auch möglich ist, die Standardeingabe in einen Befehl umzuleiten, der eine Standardeingabe erwartet
command << file.txt
Weitere Einzelheiten finden Sie im Advanced Bash Scripting Guide.
Lösung 3:
Standardausgabe ausblenden:
./command >/dev/null
Standardausgabe und Standardfehler ausblenden:
./command >/dev/null 2>&1
Standardausgabe und Standardfehler ausblenden und Terminal freigeben (Befehl im Hintergrund ausführen):
./command >/dev/null 2>&1 &
Lösung 4:
Wenn Sie die Ausgabe nur ausblenden (und nicht in einer Datei speichern) möchten, können Sie Folgendes verwenden:
Bearbeitet:
$ Befehl &> /dev/null
Lösung 5:
Für Mac OS X v10.6 (Snow Leopard):
Wenn Sie die Ausgabe verstecken müssen, ohne das Programm darüber in Kenntnis zu setzen, indem Sie den Deskriptor der Ausgabe-/Fehlerdatei überprüfen, können Sie versuchen, Folgendes in einer Shell zu verwenden:
stty flusho; command ;stty -flusho
oder wenn Sie nur nebenbei Eingaben vom Terminal ausblenden möchten:
stty -echo; command ;stty echo
Weitere Informationen finden Sie auf der Manpage stty(1).
Für Linux weiß ich nur, dass Ubuntu 10.04 (Lucid Lynx) und einige Debian/Arch-Linux (unten kommentiert - danke, Hendry) nicht den flusho
haben Einstellung (und ich kann in der Manpage nichts anderes Passendes sehen). Die echo
Einstellung funktioniert auf Ubuntu trotzdem.