2016-09-21 72 views

回答

2

命令行java -versionSTDERR流(而不是STDOUT)返回的输出数据。重定向运算符>默认使用流句柄1,这是STDOUT流。从STDERR流中读取,你需要国家相应的手柄2明确:

java -version 2>tmp.txt 

命令行java行为与预期相同,因为它在STDOUT返回输出。

参考此外部资源的详细信息:Redirection

+0

请让我知道什么所有的命令写输出到stderr – user1801774

+0

你应该参考文档...基本上* STDERR *旨在接收错误消息(如名称所示),所有其他数据通常写入*斯特劳特*;但它总是取决于开发者的“心情”...... – aschipfl

相关问题