Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 K&P 的《Unix 编程环境》中写道: “管道中的程序实际上是同时运行的,而不是一个接一个。 这意味着管道中的程序可以是交互式的;”
程序如何同时运行? 例如:$ 谁 | grep 玛丽 | wc -l grep mary 将如何执行直到谁运行或者 wc -l 将如何执行直到它知道先前程序的结果?
who
grep
stdout
wc
每个程序都需要前一个程序的结果,但它不需要所有的结果才能开始工作,这就是流水线可行的原因。