• 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标准错误

  • 相关阅读:
    Akka-CQRS(4)- CQRS Writer Actor 示范
    Akka-CQRS(3)- 再想多点,全面点
    变量、作用域
    JSON概述
    js浮点精度问题
    自定义级联下拉框
    nodejs+express+mysql 增删改查(二)
    使用Navicat Premium 链接本地数据库的方法(二)
    行内编辑时间框
    thinkjs升级到3.0后的图片上传
  • 原文地址:https://www.cnblogs.com/zouhong/p/16192655.html
Copyright © 2020-2023  润新知