next up previous contents index
suivant: Redirection de la sortie monter: Redirection des entrées/sorties précédent: Redirection de la sortie   Table des matières   Index

Redirection d'une sortie standard vers une autre sortie standard

Le principe reste identique. Il suffit de rediriger une sortie vers un fichier (ou canal logique). Lorsque l'on veut référencer le canal associé à une sortie standard (idem pour l'entrée et la sortie d'erreurs standard) comme un fichier, il suffit de faire précédé son numéro logique par le caractère « & ».

Par exemple, si la sortie d'erreurs standard doit être redirigée vers la sortie standard, il suffira d'écrire :

commande 2>&1

Dans le cas où la sortie standard et la sortie d'erreurs standard doivent être redirigées vers un même fichier, il faudra bien analyser le processus à mettre en jeu.

Dans le premier cas :

\fbox{\texttt{commande 2>\&1 >fichier}}
le shell va exécuter les étapes suivantes :

Image stdout-stderr-1
la sortie d'erreurs standard est redirigée vers la valeur courante de la sortie standard, donc l'écran.

Image stdout-stderr-2
la sortie standard vers un fichier. Donc seule la sortie standard a été redirigée vers un fichier.

Dans le deuxième cas :

\fbox{\texttt{commande >fichier 2>\&1}}
le shell va exécuter les étapes suivantes :

Image stdout-stderr-2
la sortie standard est redirigée vers un fichier,

Image stdout-stderr-3 la sortie d'erreurs standard est redirigée vers la valeur courante sur laquelle pointe la sortie standard, donc le fichier. En conséquence, la sortie standard et la sortie d'erreurs standard ont bien été redirigées vers un même fichier.

Le second modèle est donc celui à retenir.


next up previous contents index
suivant: Redirection de la sortie monter: Redirection des entrées/sorties précédent: Redirection de la sortie   Table des matières   Index
baudry@esme.fr