前端之家收集整理的这篇文章主要介绍了
试图捕获bash shell中的javac输出,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将
java编译器
输出重定向到一个
文件.
我以为应该是:
javac file.java > log.txt
或者其他的东西.相反,我看到终端上的所有输出和log.txt中的所有输出!
另外,如果我也想记录错误,我该怎么办
javac file.java 2>&1 > log.txt
?
javac file.java 2> log.txt
原因是您有两个输出文件描述符而不是一个.通常的标准是stdout,您可以使用>它应该用于产生的输出.第二个,stderr是用于人类可读的输出,如警告,错误,当前状态等,这一个被重定向到2>.
您的第二行使用2>& 1,将stderr重定向到stdout,最后将stdout重定向到log.txt.