Qualcuno può spiegare cosa sta succedendo in questo comando:
echo foo >&2 | grep foo
Zsh (5.0.2) stampa foo
due volte. Uno apparentemente su stdout e uno su stderr, poiché eseguendo questi comandi:
{ echo foo >&2 | grep foo } >/dev/null
e:
{ echo foo >&2 | grep foo } 2>/dev/null
entrambi stampano foo
una volta sola.
{echo foo >&2} | grep foo
, se vedi quello che sto cercando di dire. Ho pensato che il comando di cui avevo chiesto sopra avrebbe reindirizzato stdout a stderr e quindi reindirizzato stdout vuoto a grep.