相关疑难解决方法(0)

为什么在 bash 管道上使用“是”*不会*导致无限循环?

根据其文档,bash 会等到管道中的所有命令都完成运行后再继续

shell 在返回值之前等待管道中的所有命令终止。

那么为什么命令会yes | true立即完成呢?不应该yes永远循环并导致管道永远不会返回吗?


还有一个子问题:根据POSIX 规范,shell 管道可以选择在最后一个命令完成后返回或等待所有命令完成。在这个意义上,普通壳有不同的行为吗?是否有任何贝壳yes | true会永远循环?

shell bash pipe

19
推荐指数
2
解决办法
2993
查看次数

标签 统计

bash ×1

pipe ×1

shell ×1