Si vous voulez mettre stdout et stderr vers /dev/null :
macommande > /dev/null 2>&1
Dans l'autre sens,
macommande 2>&1 >/dev/null
explications plus claires : on redirige le flux d'erreur vers la sortie standard tandis que le flux de sortie "normal" du programme est envoyé vers /dev/null (on "croise" les flux). Eh oui l'ordre des redirections est important.
stdout ---. .--- console
X
stderr ---' `-----------> /dev/null
(waouh, de l'ascii-art -- si ça se trouve, il passe mal chez vous, désolé)
Enfin, stdin (puisqu'on en parle) est désigné par <. On ne peut évidemment pas adresser ce flux : qui enverrait sa sortie sur sa propre entrée ? (quoique quelque part ca pourrait ressembler à de la récurrence... ;-) Non, si c'était possible, je ne vous raconte pas le bazar...
Les développeurs C noteront la similitude entre &var et &flux... d'où la désignation de "pointeur".
Je ne considère pas ça comme une astuce : les flux sont une base dans l'utilisation d'Unix quand même. Lire, écrire dans un fichier, rediriger à travers un pipe, etc. font partie de l'essentiel du fonctionnement d'Unix, donc de Linux...
# Re: Du bon ordre des redirections
Posté par Teuxe . En réponse au message [Terminal] Du bon ordre des redirections. Évalué à 1.
Si vous voulez mettre stdout et stderr vers /dev/null :
macommande > /dev/null 2>&1
Dans l'autre sens,
macommande 2>&1 >/dev/null
explications plus claires : on redirige le flux d'erreur vers la sortie standard tandis que le flux de sortie "normal" du programme est envoyé vers /dev/null (on "croise" les flux). Eh oui l'ordre des redirections est important.
stdout ---. .--- console
X
stderr ---' `-----------> /dev/null
(waouh, de l'ascii-art -- si ça se trouve, il passe mal chez vous, désolé)
Enfin, stdin (puisqu'on en parle) est désigné par <. On ne peut évidemment pas adresser ce flux : qui enverrait sa sortie sur sa propre entrée ? (quoique quelque part ca pourrait ressembler à de la récurrence... ;-) Non, si c'était possible, je ne vous raconte pas le bazar...
Les développeurs C noteront la similitude entre &var et &flux... d'où la désignation de "pointeur".
Je ne considère pas ça comme une astuce : les flux sont une base dans l'utilisation d'Unix quand même. Lire, écrire dans un fichier, rediriger à travers un pipe, etc. font partie de l'essentiel du fonctionnement d'Unix, donc de Linux...