无法将“java”命令的输出重定向到文本文件
我正在cmd提示符中尝试以下操作:
爪哇>;临时雇员文本
临时工。正在创建txt,但其中没有任何内容。“java”命令输出显示在控制台本身中,无需重定向到temp。文本
但如果我做了以下事情:
dir>;临时雇员文本
dir命令的输出被重定向到临时文件
为什么“java”命令的输出没有被重定向到文本文件
你可以在下面搜索框中键入要查询的问题!
我正在cmd提示符中尝试以下操作:
爪哇>;临时雇员文本
临时工。正在创建txt,但其中没有任何内容。“java”命令输出显示在控制台本身中,无需重定向到temp。文本
但如果我做了以下事情:
dir>;临时雇员文本
dir命令的输出被重定向到临时文件
为什么“java”命令的输出没有被重定向到文本文件
# 1 楼答案
>
用于将standard output
(stdout)发送到给定位置。但是用java
命令打印的输出是standard error
(stderr)输出要重定向stderr,可以使用以下语法。这将把
standard outputs
重定向到stdout.txt
,将standard errors
重定向到stderr.txt
或者,您可以使用下面的命令将
standard output
和standard error
发送到同一个文件(不需要两次提及文件名)2>
表示重定向stderr,&1
表示将stdout重定向到output.txt
的位置。所以这个命令将把stdout重定向到输出。将stdout重定向到的位置(即output.txt iteself)您还可以通过发送
stderr
来忽略/dev/null
(仅限linux)# 2 楼答案
因为在没有参数的情况下运行
java
时,输出会重定向到stderr
,而不是stdout
。所以你应该:2
告诉命令将stderr
重定向到文件temp.txt
有关http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-3.html的更多详细信息