我想用一个命令获取Linux中的Java版本.

我是awk的新手,所以我正在try

java -version|awk '{print$3}'  

但这并没有返回版本.如何从下面的Java版本输出中获取1.6.0_21

java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b16, mixed mode)

推荐答案

  1. 将stderr重定向到stdout.
  2. 打第一线
  3. 过滤版本号.

    java -version 2>&1 | head -n 1 | awk -F '"' '{print $2}'
    

Linux相关问答推荐

Linux内核中维护进程无关寄存器失败

在shell 中使用排除模式的grep

如何判断程序是在终端上运行还是在后台运行?

Linux 中大型 TSV 的条件编辑

计算与文件第一列对应的第二列中的字符串出现次数

如何让xargs对 bash 脚本中find命令找到的所有文件执行?

如何使用 Golang 清除终端中的最后一行

如何使用 ftrace 过滤查看函数上方的调用堆栈?

在 puppet 中管理 linux 的用户密码

如何/在哪里可以找到要修复的 Linux 内核错误?

如何构建在 Android 上运行的本机(命令行)可执行文件?

打印当前一周的星期一的日期(在 bash 中)

将 $_GET 参数传递给 cron 作业(job)

zsh/bash 上不区分大小写的 Glob

试运行 cron 条目

/var 中有什么?

ctrl-x 在终端中使用时会发送哪个信号?

JAVA_HOME 和 PATH 已设置,但 java -version 仍显示旧版本

使用 Bash 查找和复制文件

ImportError:在 ubuntu 14.04 中没有名为 _io 的模块