Pour une raison quelconque, il semble que stderr soit envoyé vers stdout dans le script bash suivant :
exec > >( while read line; do echo " stdout: $line"; done )
exec 2> >( while read line; do echo " stderr: $line"; done )
echo "rolo"
echo "cholo" >&2
Si vous le lancez, la sortie est la suivante :
stdout: rolo
stdout: stderr: cholo
Est-ce que quelqu'un sait pourquoi cela se produit ? Autant que je puisse dire, ce qui se passe est que stderr est envoyé vers stdout, c'est pourquoi la première ligne capture la sortie de la seconde ligne ?