web-dev-qa-db-ja.com

stderrのみをリダイレクトするにはどうすればよいですか?

これを行うのに少し問題があります。コンパイルされた.Javaファイルを実行し、stderrのみをerrorというファイルにリダイレクトする必要があります。したがって、.Javaファイルの名前はjavaProgram.Javaです。

これは私が試したものです:

Java javaProgram 2> error

しかし私が

cat error

特定の.Javaファイルにエラーがないことを知っていても、そこには何かがあるようです。私は何か間違ったことをしていますか?このエラーファイルに表示したいのはエラーだけで、それ以外のものはありません。

13
John

あなたの最初の試みは正しかった。 2>filenameはstderrをリダイレクトする方法です。あなたのプログラムがいくつかの非エラーをstderrに書き込んでいるか、Javaプログラムがstderrに出力する他のプログラムを実行している可能性があります。

16
Mark Plotnick

簡単な答えは、それは不可能だということです。標準エラーは、診断出力の書き込みに使用され、診断/エラー出力とは何かを定義するのはアプリケーションの責任です。 POSIX標準 によると、.

1
Jeight