Zsh는 /dev/null로 리디렉션하고 파이프 [중복]

Zsh는 /dev/null로 리디렉션하고 파이프 [중복]

~에서이것나는 &> /dev/nullzsh stdout리디렉션 stderr/dev/null.

echo a &> /dev/null

출력이 없습니다.

그러나 내가 할 때

echo a &> /dev/null | cat

cat 은 인쇄할 것이지만 a나는 아무것도 인쇄하지 않을 것이라고 예상했습니다.

여기서 무슨 일이 일어나고 있는 걸까요?

답변1

don_crissti가 이미 언급했듯이 이는 기본 동작 zsh이며 끌 수 있습니다 unsetopt multios.

맨페이지도 참조하세요 zshmisc.

답변2

따라서 파이프는 암시적 리디렉션입니다.

date >foo | cat

"foo" 파일에 날짜를 쓰고 cat으로 파이프합니다.

여기에서:http://zsh.sourceforge.net/Doc/Release/Redirection.html.

따라서 with multios옵션 echo a &> /dev/null | cat은 .echo a 2>1 | tee /dev/null | catbash

관련 정보