【转载】用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}')


posted @   牧之丨  阅读(479)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2020-12-20 ChannelInboundHandlerAdapter和SimpleChannelInboundHandler区别
2020-12-20 Netty中ByteBuf内存泄露及释放解析
2020-12-20 出现io.netty.util.IllegalReferenceCountException: refCnt: 0, decrement: 1的原因及解决办法
2017-12-20 active developer path ("/Applications/Xcode.app/Contents/Developer")
2012-12-20 【ExtJS】错误:this.config[...].width为空或不是对象
点击右上角即可分享
微信分享提示