当我这样做:
find . -name "pattern" | grep "another-pattern"
流程,查找和grep一起产生了吗?我的猜测是肯定的.如果是这样,那么这是如何工作的?:
yes | command_that_prompts_for_confirmations
如果是,则继续向stdout发送’y’,并且command_that_prompts_for_confirmations在读取其stdin时读取’y’,是如何知道何时终止?因为如果我单独运行yes而不将其输出传递给其他命令,那么它永远不会结束.
但是如果管道命令不能同时产生所有进程,那么如何知道要输出多少?这对我来说是22.有人能解释一下这个管道在* NIX中是如何工作的吗?
最佳答案
从the wikipedia page:“本身,yes命令输出’y’或任何被指定为参数,然后是换行符,直到被用户停止或以其他方式被杀死;当用管道输入命令时,它将继续直到管道中断(即,程序完成其执行.)“
是的,不知道何时终止.但是,在某些时候输出“y”到stdout将导致错误,因为另一个进程已经完成,这将导致管道损坏,并且是将终止.
顺序是:
原文地址:https://www.jb51.cc/linux/440760.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。