Comment rediriger stdout et stderr vers un fichier [dupliquer]

cette question a déjà une réponse ici:

  • Comment puis-je rediriger et ajouter à la fois stdout et stderr à un fichier avec Bash? 6 réponses

j'exécute 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 seulement la sortie standard et non l'erreur standard qui apparaît sur le terminal.

puis-je enregistrer à la fois le stderr et le stdout dans un fichier?

252
demandé sur Cœur 2011-09-23 13:35:45

5 réponses

si vous voulez vous connecter au même fichier:

command1 >> log_file 2>&1

si vous voulez des fichiers différents:

command1 >> log_file 2>> err_file
376
répondu Mat 2011-09-23 09:37:31

la syntaxe la plus simple pour rediriger les deux est:

command &> logfile

si vous voulez ajouter au fichier au lieu de l'écraser:

command &>> logfile
172
répondu Costi Ciudatu 2011-09-23 10:14:32

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

 command > file 2>&1
29
répondu Laurent Legrand 2011-09-23 09:37:06

utiliser:

command >>log_file 2>>log_file
4
répondu blankabout 2015-09-17 15:51:35

s'il vous Plaît utiliser command 2>file Ici 2 signifie le descripteur de fichier de stderr . Vous pouvez également utiliser 1 au lieu de 2 de sorte que stdout soit redirigé vers le "fichier "

1
répondu PaulDaviesC 2011-09-24 05:53:16