Umleiten von stdout und stderr zu einer einzelnen Datei mit Präfixen

8

Ich schreibe ein Bash-Skript und muss die Ausgabe von stdout und stderr eines Befehls, den ich ausführe, in eine einzige Datei umleiten, wobei jeder Zeile entsprechend stderr oder stdout vorangestellt wird.

Gibt es eine einfache Möglichkeit, dies zu tun?

    
João Portela 12.03.2010, 12:07
quelle

2 Antworten

11

Kommentieren-Ausgabe , von Debian devscripts , tut dies.

Das Beispiel in seiner Manpage:

%Vor%     
ephemient 13.03.2010, 07:02
quelle
10

Versuchen Sie Folgendes:

%Vor%

Die erste Pipe fügt der Standardausgabe von stdout: das Präfix myCommand ein und fügt es an myLogFile an.

Die Klammern dienen dazu, einen einzigen Befehl von all dem zu geben. Sie sagen, dass weitere Umleitungen auf das, was innerhalb von Klammern ist, und nicht nur auf sed angewendet werden.

Dann wird der Standardfehler zur Standardausgabe mit 2>&1 umgeleitet (denken Sie daran, dass die ursprüngliche Standardausgabe bereits zu myLogFile umgeleitet wurde). Die zweite Pipe fügt ihr ein stderr: Präfix hinzu und hängt es an myLogFile an.

    
mouviciel 12.03.2010 12:26
quelle

Tags und Links