我正在try 从目录如下所示的文件中提取版本号:
... /directory/to/java/bin/./java -version
从命令行运行该命令会产生以下输出:
java version "1.7.0_269"
Java(TM) SE Runtime Environment (build 7.0.8.10 - pkshd34234hsd284842_01(xop4_))
bla bla bla
whole bunch of
extra info
我只需要提取该版本号1.7.0_269(特别是次要/补丁(?)版本"269").
我对另一个文件执行了类似的操作,并使用了以下语法:
JAVA_VER=$("/the/directory/to/jversion.sh" | awk -F'java.version:' '{print $2}' | xargs )
它工作得很好,但由于某些原因,它不适用于这个命令(诚然,我缺乏bash命令的知识,所以我不确定如何正确地修改它):
APP_JAVA_VER=$(/the/directory/to/java/bin/./java -version | awk -F'java version' '{print $2}' | xargs)
它什么也不会输出.有谁能告诉我如何做这件事的正确方向吗?我看到了许多不同的方法来解决这类问题,但我希望真正了解我的代码在哪里出错以及如何修改它.这与它不是.sh文件有关吗?谢谢你的帮助!