파이프(|)가 있으면 왼쪽 명령이 먼저 실행되고 그 결과가 파이프의 오른쪽 명령으로 전달되는 것으로 알고 있는데...
apt update | sudo tee
...어떻게 이런 식으로 작동할 수 있지? 관련된 "구문 설탕"이 있습니까?
답변1
파이프(|)가 있는 경우 왼쪽 명령이 먼저 실행되고 그 결과가 파이프 오른쪽 명령으로 전달됩니다.
잘못된.
두 프로세스가 동시에 시작됩니다. 따라서 귀하의 예에서는 동시에 시작하고 STDOUT이 apt update
STDIN 으로 전달됩니다 .sudo tee
apt update
sudo tee
구문상의 편의가 포함되지 않은 익명 파이프( |
)는 *nix에서 IPC의 일반적인(그리고 고대) 형태입니다.
FWIW, 파이프 IPC라는 또 다른 형태의 파이프가 있습니다.