将编译错误打印到磁盘中的文件中



我是计算机科学专业的学生。我在linux平台ubuntu上学习java。当我在编译程序时,我总是在终端中得到一些编译错误。我试着从终端读取错误信息。我认为阅读这些错误信息让我更好地了解程序/java语言本身。因此,当我恢复错误时,有时我会尝试读取先前的错误消息,但该消息有时会从终端中删除。

所以我的问题是-有没有办法将错误消息从终端直接重定向到文件。

我正在使用以下命令在ubuntu中编译-

$javac MyClass.java > file_name  

但是它打印从终端到'file_name'的所有行。有没有办法只重定向错误消息?

谢谢。

你需要

$javac MyClass.java 2> file_name 

将重定向stderr。您可以(相反)将标准错误重定向到标准输出,然后重定向到文件,这样:

$javac MyClass.java 2>&1 > file_name 

以上假设您使用的是波恩shell类型的shell (sh/bash/ksh/zsh),而不是C-shell变体。

说了这么多,我会(如果可行的话)避免使用命令行进行一般开发,而倾向于使用IDE, IDE(在许多其他优点中)将告诉您更多关于编译问题的信息。

最新更新