Non sono chiaro quale sia l'ordine migliore per acquisire entrambi STDERR
e STDOUT
nello stesso file usando tee
. So che se voglio reindirizzare a un file devo mappare il filehandle dopo il reindirizzamento, cioè
find . >/tmp/output.txt 2>&1
Questo istruisce la shell per inviare STDOUT
a /tmp/output.txt
e poi inviare STDERR
a STDOUT
(che sta inviando a /tmp/output.txt
).
Tentare di eseguire 2>&1
prima di reindirizzare il file non avrà l'effetto desiderato.
Tuttavia, quando voglio pipe usando tee
dovrebbe essere:
find . |tee /tmp/output.txt 2>&1 # or
find . 2>&1 |tee /tmp/output.txt # ?
|&
viene utilizzato, l'errore standard di command1 è collegato all'input standard di command2 attraverso la pipe; è una scorciatoia per2>&1 |
. Questo reindirizzamento implicito dell'errore standard viene eseguito dopo qualsiasi reindirizzamento specificato dal comando."