【转载】用shell命令一步步获取Java版本号
https://blog.csdn.net/f20052604/article/details/100269768
1、打印java -version命令
echo $(java -version)
输出
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
2、使用2>&1来将标准错误输出重定向
echo $(java -version 2>&1)
输出
java version "1.8.0_171" Java(TM) SE Runtime Environment (build 1.8.0_171-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
3、提取第一行内容
echo $(java -version 2>&1 |awk 'NR==1')
注意:一定要加 2>&1,输出:
java version "1.8.0_171"
4、提取版本号,第三个字符串
echo $(java -version 2>&1 |awk 'NR==1{print $3}')
输出:"1.8.0_171"
5、替换双引号
使用命令:gsub(/"/,""),将双引号替换成空,
gsub函数则使得在所有正则表达式被匹配的时候都发生替换
gsub(regular expression, subsitution string, target string);简称 gsub(r,s,t)
完整命令:echo $(java -version 2>&1 |awk 'NR==1{gsub(/"/,"");print $3}')
输出:1.8.0_171
类似的,我们还可以获取git的版本号
echo $(git --version 2>&1 |awk 'NR==1{gsub(/"/,"");print $3}')