Como don_crissti já mencionado, este é o comportamento padrão de zsh e pode ser desativado com unsetopt multios .
Veja também a página de manual de zshmisc .
De este , eu entendo que &> /dev/null em zsh redireciona os stdout e stderr codificar%. Portanto,
echo a &> /dev/null
não fornece saída.
No entanto, quando faço
echo a &> /dev/null | cat
cat irá imprimir o /dev/null , onde eu esperava que não imprimisse nada.
O que está acontecendo aqui?
Como don_crissti já mencionado, este é o comportamento padrão de zsh e pode ser desativado com unsetopt multios .
Veja também a página de manual de zshmisc .
Note that a pipe is an implicit redirection; thus
date >foo | catwrites the date to the file ‘foo’, and also pipes it to cat.
A partir daqui: link .
Assim, com multios option echo a &> /dev/null | cat é equivalente a echo a 2>1 | tee /dev/null | cat em outro shell, como bash .
Tags zsh io-redirection