Exemples communs en Bash
Pour rediriger les flux de sorties standards sous Bash :
commande 1> fichier
Redirige la sortie standard générée par la commande (stdout) dans fichier
commande 2> fichier
Redirige la sortie d’erreur standard généré par la commande (stderr) dans fichier
commande 2>&1
Redirige stderr vers stdout
commande &> fichier
Redirige stdout et stderr dans fichier
commande &> /dev/null
enverra l’ensemble des sorties vers /dev/null.
Où commande est une commande du bash (telle que ls ou mkdir), ou un programme (vim ou emacs). Et fichier est un fichier quelconque.
Le bon ordre
Les sorties stdin et stdout sont des pointeurs. Si vous voulez mettre stdin et stdout vers /dev/null :
commande > /dev/null 2>&1
Dans l’autre sens, stderr sortira sur la console.
Idem, stderr et stdout vers un pipe :
commande | commande2 2>&1
L’inverse ne fonctionnera pas.
tcsh ou csh
Avec tcsh ou csh, il n’est pas possible – à ce que je sais – de rediriger séparément les deux canaux de sortie. On peut par contre les joindre de cette manière :
shutup >& /dev/null
ou
commande1 |& commande2
Sorry, the comment form is closed at this time.