Erwähnenswert ist, dass 2>&1 bedeutet, dass auch Standardfehler zusammen mit der Standardausgabe umgeleitet werden. Also
someCommand | tee someFile
gibt Ihnen nur die Standardausgabe in der Datei, aber nicht den Standardfehler:Der Standardfehler wird nur in der Konsole angezeigt. Um auch Standardfehler in der Datei zu erhalten, können Sie
verwendensomeCommand 2>&1 | tee someFile
(Quelle:Was ist in der Shell " 2>&1 "? ). Schließlich werden die beiden oben genannten Befehle die Datei abschneiden und löschen. Wenn Sie eine Folge von Befehlen verwenden, möchten Sie vielleicht Ausgabe und Fehler von allen nacheinander erhalten. In diesem Fall können Sie den Befehl -a flag to "tee" verwenden:
someCommand 2>&1 | tee -a someFile
Falls jemand die Ausgabe anhängen und nicht überschreiben muss, ist es möglich, die Option „-a“ oder „--append“ des „tee“-Befehls zu verwenden:
ls 2>&1 | tee -a /tmp/ls.txt
ls 2>&1 | tee --append /tmp/ls.txt
Ja, wenn Sie die Ausgabe umleiten, wird sie nicht auf der Konsole angezeigt. Verwenden Sie tee
.
ls 2>&1 | tee /tmp/ls.txt