2016-09-21 144 views

回答

2

命令行java -versionSTDERR流(而不是STDOUT)返回的輸出數據。重定向運算符>默認使用流句柄1,這是STDOUT流。從STDERR流中讀取,你需要國家相應的手柄2明確:

java -version 2>tmp.txt 

命令行java行爲與預期相同,因爲它在STDOUT返回輸出。

參考此外部資源的詳細信息:Redirection

+0

請讓我知道什麼所有的命令寫輸出到stderr – user1801774

+0

你應該參考文檔...基本上* STDERR *旨在接收錯誤消息(如名稱所示),所有其他數據通常寫入*斯特勞特*;但它總是取決於開發者的「心情」...... – aschipfl