363 Stimmen

Wie leite ich sowohl stdout als auch stderr in eine Datei um

Ich führe ein Bash-Skript aus, das eine Protokolldatei für die Ausführung des Befehls erstellt

Ich benutze folgendes

Befehl1 >> log_datei
Befehl2 >> log_datei

Dies sendet nur die Standardausgabe und nicht den Standardfehler, der im Terminal erscheint.

575voto

Mat Punkte 195740

Wenn Sie sich in dieselbe Datei einloggen möchten:

command1 >> log_file 2>&1

Wenn Sie verschiedene Dateien möchten:

command1 >> log_file 2>> err_file

272voto

Costi Ciudatu Punkte 35188

Die einfachste Syntax zum Umleiten beider ist:

command &> logfile

Wenn Sie anstatt zu überschreiben an die Datei anhängen möchten:

command &>> logfile

50voto

Laurent Legrand Punkte 1084

Sie können es so machen 2>&1:

 Befehl > Datei 2>&1

10voto

blankabout Punkte 2551

Verwendung:

Befehl >>log_datei 2>>log_datei

0voto

PaulDaviesC Punkte 1101

Bitte benutzen Sie Befehl 2> Datei Hier steht 2 für Dateideskriptor von stderr. Sie können auch 1 anstelle von 2 verwenden, damit stdout auf die 'Datei' umgeleitet wird

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X