`yes | head` head가 끝날 때 yes 명령이 여기서 중지되는 이유는 무엇입니까?

`yes | head` head가 끝날 때 yes 명령이 여기서 중지되는 이유는 무엇입니까?

이 명령은 yes항상 표준 출력에 "y"를 인쇄합니다. Head는 입력의 처음 10줄을 인쇄합니다. 머리가 멈췄을 때 yes가 멈추는 이유는 무엇입니까? 조금 생각이 나는데 잘 모르겠어서 여기에 질문드립니다. 나에게 파이핑은 파이프를 생성하고 헤드 stdin을 파이프 입력으로 대체했습니다. 그런 다음 헤더가 끝나면 해당 프로그램은 파이프된 입력을 닫고 명령은 어떻게든 yes이를 알아차리고 중지해야 한다고 결정합니다.

관련 정보