Je ne sais pas quel est le meilleur ordre pour capturer les deux STDERR
et STDOUT
dans le même fichier à l'aide tee
. Je sais que si je veux diriger vers un fichier, je dois mapper le descripteur de fichier après la redirection, c'est-à-dire
find . >/tmp/output.txt 2>&1
Cela demande au shell d'envoyer STDOUT
à /tmp/output.txt
puis d'envoyer STDERR
à STDOUT
(qui envoie maintenant à /tmp/output.txt
).
Tenter d'effectuer l'opération 2>&1
avant de rediriger le fichier n'aura pas l'effet souhaité.
Cependant, lorsque je souhaite utiliser des tuyaux, tee
doit-il être:
find . |tee /tmp/output.txt 2>&1 # or
find . 2>&1 |tee /tmp/output.txt # ?
|&
est utilisé, l'erreur standard de command1 est connectée à l'entrée standard de command2 via le canal; c'est un raccourci pour2>&1 |
. Cette redirection implicite de l'erreur standard est effectuée après toutes les redirections spécifiées par la commande."