Andesi - forum

Forum francophone pour Debian

Vous n'êtes pas identifié(e).

#1 08/05/2011 16:17:34

e-miel
Membre
Inscription : 21/08/2004
Messages : 453

Bash : stocker la sortie d'erreur dans une variable

Bonjour,

J'utilise la commande commande qui, durant son exécution, écrit des lignes de texte dans le descripteur n°1 (stdout) et une valeur numérique dans le descripteur n°2 (stderr). J'aimerais que les lignes de texte (stdout) s'affichent dans la console et que la valeur numérique (stderr) soit stockée dans une variable bash.

Quelqu'un sait-il faire cela ?

Hors ligne

#2 12/05/2011 21:53:53

ioguix
Administrator
Lieu : Paris
Inscription : 25/04/2003
Messages : 3 945

Re : Bash : stocker la sortie d'erreur dans une variable

Salut,

Désolé j'arrive un peu tard, j'espère que ça te sera qd même utile:

Mon script d'essai :

cat /tmp/test.sh 
echo "stdout"
echo "stderr" >&2

Son test:

$ /tmp/test.sh 2> /dev/null
stdout

$ /tmp/test.sh > /dev/null
stderr

Et ta réponse:

$ V=$(/tmp/test.sh 3<&2 2>&1 1>&3)
stdout

$ echo $V
stderr

Explication: j'inverse stderr et stdout

1/ je clone la sortie stderr dans le fd 3
2/ je redirige stderr vers stdout
3/ je redirige stdout vers le fd 3, qui est donc stderr


ioguix@jabber.org
"Contrairement aux chasseurs qui, eux, ne sont pas des lapins, les pollueurs, eux sont des ordures. - Philippe Geluck, Le chat"
gpg: 0828C222

Hors ligne

#3 12/05/2011 21:54:35

ioguix
Administrator
Lieu : Paris
Inscription : 25/04/2003
Messages : 3 945

Re : Bash : stocker la sortie d'erreur dans une variable

Ceci dit, on peut probablement faire mieux, je suis curieux de voir les autres solution du coup smile


ioguix@jabber.org
"Contrairement aux chasseurs qui, eux, ne sont pas des lapins, les pollueurs, eux sont des ordures. - Philippe Geluck, Le chat"
gpg: 0828C222

Hors ligne

#4 16/05/2011 00:16:23

e-miel
Membre
Inscription : 21/08/2004
Messages : 453

Re : Bash : stocker la sortie d'erreur dans une variable

Merci pour ta réponse. Tu n'arrives pas trop tard. wink

Hors ligne

#5 16/05/2011 20:16:39

ioguix
Administrator
Lieu : Paris
Inscription : 25/04/2003
Messages : 3 945

Re : Bash : stocker la sortie d'erreur dans une variable

Excellent smile


ioguix@jabber.org
"Contrairement aux chasseurs qui, eux, ne sont pas des lapins, les pollueurs, eux sont des ordures. - Philippe Geluck, Le chat"
gpg: 0828C222

Hors ligne

Pied de page des forums