【发布时间】:2015-10-26 18:36:46
【问题描述】:
我需要从 python(或 bash)获取 java 版本号,例如“1.5”。
我会使用:
os.system('java -version 2>&1 | grep "java version" | cut -d "\\\"" -f 2')
但返回 1.5.0_30
比如数字变成“1.10”就需要兼容。
我想使用 cut 或 grep 甚至 sed。 它应该在一行中。
【问题讨论】:
-
“它需要兼容” - 与什么兼容?你到底想达到什么目的? “它应该在一行中” - 为什么?
-
与较新的 java 版本兼容。并在一行中保持代码干净。
-
你为什么认为它会破坏例如
"1.10"?您正在通过os.system运行终端命令,我认为 "clean" 已经过去了... -
@jteichert 单行代码不一定是干净的代码。
-
@fedorqui 我只需要主要和次要版本。原因是,这必须进入 waf 脚本的构建函数。那只接受major.minor版本(至少我刚才用1.5.0的时候还不行)
bld(features = 'javac jar', compat = '1.5', ... )