我是计算机科学专业的学生。我在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(在许多其他优点中)将告诉您更多关于编译问题的信息。