"some_command | sudo tee"는 정확히 어떻게 작동하나요?

"some_command | sudo tee"는 정확히 어떻게 작동하나요?

파이프(|)가 있으면 왼쪽 명령이 먼저 실행되고 그 결과가 파이프의 오른쪽 명령으로 전달되는 것으로 알고 있는데...

apt update | sudo tee

...어떻게 이런 식으로 작동할 수 있지? 관련된 "구문 설탕"이 있습니까?

답변1

파이프(|)가 있는 경우 왼쪽 명령이 먼저 실행되고 그 결과가 파이프 오른쪽 명령으로 전달됩니다.

잘못된.

두 프로세스가 동시에 시작됩니다. 따라서 귀하의 예에서는 동시에 시작하고 STDOUT이 apt updateSTDIN 으로 전달됩니다 .sudo teeapt updatesudo tee

구문상의 편의가 포함되지 않은 익명 파이프( |)는 *nix에서 IPC의 일반적인(그리고 고대) 형태입니다.

FWIW, 파이프 IPC라는 또 다른 형태의 파이프가 있습니다.

관련 정보