您的位置:首页 > 运维架构 > Shell

shell将标准错误输出重定向为标准输出

2013-10-22 12:44 204 查看
有时候写一些shell脚本时,想获取一下一写语句的输出,比如我使用javac 编译一个java类的时候,我想知道编译是否通过,那么很容易想到的就是根据javac的输出结果来判断


在终端下输出与错误信息都会显示的,但是如果我们直接使用javac Main.java | wc -l来进行判断(Main.java里面语法有错误),最终的结果是错误输出了,行数统计为0。此时我们只需要将错误重定向到标准输出就行了,因为wc等命令通过管道获取的只是标准输出流,正确的写法如下:javac Main.java 2>&1| wc -l

linux流的定义: 0 标准输入,1 标准输出,2 标准错误。 2>&1 即将标准错误流指向标准输出流,这样接下来我们将可以根据输出错误的行数或者其他信息来判断命令的执行那个情况了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: