Disons que j'ai un script comme suit:
useless.sh
echo "This Is Error" 1>&2
echo "This Is Output"
Et j'ai un autre script shell:
alsoUseless.sh
./useless.sh | sed 's/Output/Useless/'
Je veux capturer "C'Est une Erreur", ou toute autre stderr de useless.sh, dans une variable. Appelons ça de l'ERREUR.
Notez que j'utilise stdout pour quelque chose. Je veux continuer à utiliser la sortie standard, afin de rediriger stderr vers stdout n'est pas utile dans ce cas.
Donc, fondamentalement, je veux faire
./useless.sh 2> $ERROR | ...
mais qui de toute évidence ne fonctionne pas.
Je sais aussi que je pourrais faire
./useless.sh 2> /tmp/Error
ERROR=`cat /tmp/Error`
mais c'est laid et inutile.
Malheureusement, si pas de réponses tourner jusqu'ici c'est ce que je vais avoir à faire.
J'espère qu'il y a une autre manière.
N'importe qui ont des idées?