Zsh redireciona para / dev / null e pipe [duplicado]

3

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?

    
por Ragnar 07.01.2017 / 13:54

2 respostas

4

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 .

    
por 07.01.2017 / 14:20
3

Note that a pipe is an implicit redirection; thus

date >foo | cat

writes 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 .

    
por 07.01.2017 / 14:33