将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 [...]

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...