367 votes

Comment faire pour rediriger les stdout et stderr vers un fichier

Bonjour, je lance un script bash qui crée un fichier journal pour l'exécution de la commande

J'utilise le suivant

 Command1 >> log_file
Command2 >> log_file
 

Cela envoie uniquement la sortie standard et non l'erreur standard qui apparaît sur le terminal.

Puis-je enregistrer à la fois le stderr et le stdout enregistrés dans un fichier?

579voto

Mat Points 104488

Si vous souhaitez vous connecter au même fichier:

 command1 >> log_file 2>&1
 

Si vous voulez des fichiers différents:

 command1 >> log_file 2>> err_file
 

278voto

Costi Ciudatu Points 13020

La syntaxe la plus simple pour rediriger les deux est la suivante:

 command &> logfile
 

Si vous souhaitez ajouter au fichier au lieu de remplacer:

 command &>> logfile
 

50voto

Laurent Legrand Points 539

Vous pouvez le faire comme ça 2> & 1:

  command > file 2>&1
 

10voto

blankabout Points 1164

Utilisez: commande >> log_file 2 >> log_file

0voto

PaulDaviesC Points 347

Veuillez utiliser command 2>file Here 2 signifie descripteur de fichier de stderr . Vous pouvez également utiliser 1 au lieu de 2 afin que stdout soit redirigé vers le "fichier"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X