linux shell 获取java版本号
获取java版本号
$ java -version 2>&1 | sed '1!d' | sed -e 's/"//g' | awk '{print $3}'
1.8.0_222
获取java类型(openjdk)及版本号
$ java -version 2>&1 | sed '1!d' | sed -e 's/"//g' -e 's/version//'
openjdk 1.8.0_222
说明:
在shell中要获取java版本号最基本的思路就是从java -version
的输出内容中解析出版本号,但是java -version
的输出并不是输出到默认的stdout,而是stderr,所以要想从java -version
的输出解析出java版本号,就要将java -version
的输出重定向,上面脚本中2>&1
就是将原本输出到stderr中的内容重定向输出到stdout,这样就可以将java -version
的输出通过管道|
输入到sed,awk这些工具去处理了.
代码中sed '1!d'
的含义是删除除第一行外的所有内容,在这里就是只保留java -version
输出的第一行内容java version "1.8.0_111"
接下来 sed -e 's/"//g'
就简单了,就是删除字符串中的"
号,所以上面的第一行内容进一步被处理成openjdk version 1.8.0_222
(同理's/version//'
是删除字符串中的version
)
接下来的awk '{print $3}'
就是输出空格分隔的第三段,就是最终的版本号1.8.0_222
1 表示stdout标准输出
2 表示stderr标准错误
分类:
Linux
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
2021-04-25 idea查看源代码出现/* compiled code */
2021-04-25 request.getRequestURL()和request.getRequestURI()的区别
2021-04-25 如何判断指定Class是否是基础数据类型或者是其包装类型