next up previous contents
suivant: Expressions régulières monter: L'interface de commande (shell) précédent: Historique, complétion, variables d'environnement,   Table des matières


Redirections

Faisons quelques exemples:

date
affiche la date courante sur le terminal.
date |wc -c
compte le nombre de caractères dans la sortie de la commande date et affiche cette information sur le terminal.
date -error
affiche une erreur sur le terminal.
date -error |wc -c
affiche une erreur sur le terminal, et compte zéro caractères.
date -error 2>&1 |wc -c
donne le nombre de caractères du message d'erreur.

Il y a trois fichiers (flux, flots) ouverts de façon standard lorsqu'une commande est lancée par le shell, en règle générale:


Tableau 1: Les flux standards
Numéro description usuellement
0 entrée standard le clavier
1 sortie standard l'écran
2 erreur standard l'écran


Les opérations possibles sont:


Tableau: Les opérations de flux standards
Opération implémentation notes
ouverture 0< f, 1> f, 1» f entrée, sortie, sortie avec ajout sur f
fermeture 0<-, 1>-  
redirection 2>&1 la sortie d'erreur passe dans la sortie standard
HERE document «EOF...EOF simule une entrée standard dans un script


Séparer la sortie d'erreur de la sortie standard permet de pouvoir traiter les erreurs spécialement. Chacun de ces fichiers peut être fermé, ouvert sur un fichier différent, ou connecté à un autre de ces fichiers. On peut également définir des numéros de fichiers supplémentaires et les utilisers dans des programmes en C, Perl ou dans des scripts shell. Par exemple, le fichier 3 pourrait être défini comme un tube de communication à un script agissant comme point de rendez-vous.

Notez que l'ordre sur la ligne de commande a une importance lorsqu'on redirige des flux sur d'autres flux. Comparer par exemple:

date -error > /dev/null 2>&1

et

date -error 2>&1 > /dev/null


next up previous contents
suivant: Expressions régulières monter: L'interface de commande (shell) précédent: Historique, complétion, variables d'environnement,   Table des matières
Marc SCHAEFER 2003-03-01