我在做这件事时遇到了一些麻烦。我需要运行已编译的 .java 文件并仅将 stderr 重定向到名为 error 的文件。因此.java 文件被命名为javaProgram.java。
这是我尝试过的:
java javaProgram 2> error
然而当我
cat error
看起来那里有东西,即使我知道特定的 .java 文件没有错误。难道我做错了什么?我希望这个错误文件只显示错误,而不是其他任何内容。
答案1
你的第一次尝试是正确的;2>filename
这就是您重定向 stderr 的方式。可能的情况是你的程序正在向stderr写入一些非错误,或者java程序正在运行其他输出到stderr的程序。
答案2
简单的答案是这是不可能的。标准错误用于写入诊断输出,由应用程序定义什么是诊断/错误输出。这是根据POSIX标准。