내가 예상 cat <(cat)
과 cat | cat
같은 일을 : 표준 출력 stdin에서 라인을 복사합니다. 내 이해는 둘 다 cat
서브 쉘에서 실행 하고 서브 쉘 cat
의 stdout을 임시 명명 된 파이프로 cat
리디렉션 한 다음 stdin이 파이프로 리디렉션 된 현재 쉘에서 다른 것을 실행 한다는 것입니다.
대신 cat <(cat)
터미널에 입력 할 수 있지만 입력 라인이 복사 ^D
되지 않고 신호를 보내지 않습니다 EOF
. cat | cat
그래도 예상대로 작동합니다.
추가 실험으로 cat =(cat)
와 비슷한 어려움이 있는지 확인 cat <(cat)
했지만 예상대로 작동합니다 ^D
. 한 번에 stdout 까지 모든 stdin 이 복사됩니다.
누구든지 zsh가 후드에서하는 일을 이해하도록 도울 수 있습니까?