也许这是一个愚蠢的问题,但我试图将“
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 [...]