课程
/运维&测试
/Linux
/ Linux达人养成计划 I
rt
管道符前面的命令错误时,后面命令还会执行吗, 还是会直接报错?
2015-09-01
源自: Linux达人养成计划 I 9-6
正在回答
管道会将前面命令的标准输入当作后面命令的标准输入。一般程序错误时是没有标准输出的,其错误信息会送到标准错误输出。
通常shell会启动前一个程序,并通过系统调用读取它的输出,再通过系统调用启动后一个程序,通过管道向后一个程序的标准输入进行输出。出错时如何处理应该是依照各shell实现而定。bash中是后续程序仍然执行,但不会获得任何输入。
所以后一个程序会执行,且你应该能在屏幕上看到前一个程序的错误输出。
另外,一般整个管道的返回状态是最后一个命令的退出状态。
五月_星空 提问者
onemoo 回复 五月_星空 提问者
五月_星空 提问者 回复 onemoo
举报
Linux入门视频教程,以通俗易懂的语言带你感受linux之美
1 回答安装Nginx时,执行make命令报错
3 回答find 命令中的-exec命令报错?
4 回答写入命令报错
3 回答运行某些命令后信息太多直接翻页了,如何看到前面的信息?(虚拟机内运行命令,非XShell)
2 回答关于命令行后面/输入的问题?