如何在linux redhat机器上捕获java版本
我们尝试过:
java -version | head -1 | awk '{print $NF}' | sed 's/"//g'
但我们得到
openjdk version "1.8.0_65"
OpenJDK Runtime Environment (build 1.8.0_65-b17)
OpenJDK 64-Bit Server VM (build 25.65-b01, mixed mode)
而预期输出应该是
1.8.0_65
答案1
java -version
输出到其标准错误,因此您需要重定向:
java -version 2>&1 | head -1 | awk '{print $NF}' | sed 's/"//g'
您可以通过一次 AWK 调用来完成此操作:
java -version 2>&1 | awk 'NR==1 {gsub("\"", "", $NF); print $NF}'