2017-03-08 67 views
0

我想在我的命令提示符下:無法的「java」命令的輸出重定向到文本文件

的java> TEMP.TXT

TEMP.TXT是越來越與它沒有內容創建。 「Java」的命令輸出顯示在控制檯本身沒有得到重定向到TEMP.TXT

但是,如果我做到以下幾點:

DIR> TEMP.TXT

dir命令的輸出被重定向到臨時文件。

爲什麼「java」命令的輸出沒有被重定向到文本文件?

回答

1

>用於將standard output(stdout)發送到給定的位置。但用java命令打印的輸出正在輸入standard error(stderr)輸出。

要重定向標準錯誤,你可以使用下面的語法

java > temp.txt 2>&1 

2>手段重定向標準錯誤,&1意味着到標準輸出重定向這是temp.txt。所以這個命令會將stdout重定向到temp.txt和stderr到stdout被重定向到的地方(temp.txt iteself)。

+0

這應該是正確的答案 – Gajotres

1

因爲當您運行不帶參數的java時,輸出將重定向到stderr而不是stdout。所以,你應該做的:

java 2>temp.txt 

2告訴命令重定向stderr到文件temp.txt

更多細節上http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html

+0

謝謝!這工作。但是你怎麼知道「java」命令將輸出重定向到stderr。 –

+0

我不知道,但我做了一個測試重定向stdout和stderr到一個文件,並找出答案 – 2017-03-11 15:42:42

相關問題