当前位置:编程学习 > JAVA >>

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

有时候写一些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 即将标准错误流指向标准输出流,这样接下来我们将可以根据输出错误的行数或者其他信息来判断命令的执行那个情况了
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,