Ich bin mir nicht sicher, wie ich am besten beide STDERR
und STDOUT
dieselbe Datei mit erfassen soll tee
. Ich weiß, dass ich, wenn ich zu einer Datei leiten möchte, das Dateihandle nach der Umleitung zuordnen muss, d. H.
find . >/tmp/output.txt 2>&1
Dies weist die Schale zu senden STDOUT
an /tmp/output.txt
und dann zu senden , STDERR
um STDOUT
(das nun das Senden /tmp/output.txt
).
Der Versuch, das auszuführen, 2>&1
bevor die Datei umgeleitet wird, hat nicht den gewünschten Effekt.
Wenn ich jedoch Pipe verwenden möchte, tee
sollte es sein:
find . |tee /tmp/output.txt 2>&1 # or
find . 2>&1 |tee /tmp/output.txt # ?
|&
verwendet, wird der Standardfehler von Befehl1 über die Pipe mit der Standardeingabe von Befehl2 verbunden2>&1 |
. Dies ist eine Abkürzung für . Diese implizite Umleitung des Standardfehlers wird nach allen durch den Befehl angegebenen Umleitungen ausgeführt."