管道符前面的命令错误时,后面命令还会执行吗, 还是会直接报错?

来源:9-6 管道符

五月_星空

2015-09-01 16:50

rt

管道符前面的命令错误时,后面命令还会执行吗, 还是会直接报错?

写回答 关注

1回答

  • onemoo
    2015-09-02 10:26:08
    已采纳

    管道会将前面命令的标准输入当作后面命令的标准输入一般程序错误时是没有标准输出的,其错误信息会送到标准错误输出

    通常shell会启动前一个程序,并通过系统调用读取它的输出,再通过系统调用启动后一个程序,通过管道向后一个程序的标准输入进行输出。出错时如何处理应该是依照各shell实现而定。bash中是后续程序仍然执行,但不会获得任何输入。

    所以后一个程序会执行,且你应该能在屏幕上看到前一个程序的错误输出。

    另外,一般整个管道的返回状态是最后一个命令的退出状态。

    五月_星空 回复onemoo

    哈哈哈,发现了的,不过会很容易明白你的真正意思。 thx~

    2015-09-06 14:22:04

    共 3 条回复 >

Linux达人养成计划 I

Linux入门视频教程,以通俗易懂的语言带你感受linux之美

399416 学习 · 3791 问题

查看课程

相似问题