重定向java -version到文件或变量



也许这是一个愚蠢的问题,但是我试图将" Java -version"命令的退出重定向到文件或变量,但行不通。

server = linux centos 6

我在shell脚本中的代码

java -version >> test.txt

我也试图将其分配给一个变量:

JAVA_CHECK=`java -version`

即使从命令行运行这些命令仍然无法正常工作。

当我说它不起作用时,我的意思是,命令的退出正在我的屏幕上显示,而是将其重定向到文件或任何地方

...

java -version写信给stderr(fileno 2),而不是stdout(fileno 1)。您可以将stderr重定向到文件:

java -version 2> test.txt
# cat test.txt 
# java version "1.7.0_25"
# OpenJDK Runtime Environment
# [...]

或者您可以将stderr重定向到stdout:

java_check=$(java -version 2>&1)
# echo "$java_check"
# java version "1.7.0_25" OpenJDK Runtime Environment [...]

最新更新