Je ne sais pas quel est le meilleur ordre pour capturer les deux STDERRet STDOUTdans 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.txtpuis d'envoyer STDERRà STDOUT(qui envoie maintenant à /tmp/output.txt).
Tenter d'effectuer l'opération 2>&1avant de rediriger le fichier n'aura pas l'effet souhaité.
Cependant, lorsque je souhaite utiliser des tuyaux, teedoit-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."