作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用脚本在服务器上安装jdk-8u74-linux-x64.rpm
。要下载,我有这样的参数名称:
"java": {
"version": "8u74",
"minor_version": "b02"
}
如何使用这两个参数来验证java是否安装?我不想引入另一个参数,例如 java_version=1.8.0_74-b02
。有什么建议吗?
最佳答案
使用 ruby 可以解决您的问题。您可以使用下面的代码来做到这一点:-
def parse_app_name (filename, minor_version)
file_name = filename.split('/')[-1]
if file_name =~ /^(jre|jdk).*$/
major_num = file_name.scan(/\d/)[0]
update_num = file_name.scan(/\d+/)[1]
# pad a single digit number with a zero
if update_num.length < 2
update_num = "0" + update_num
end
app_name = "1.#{major_num}.0_#{update_num}" + "-" + minor_version
else
puts "error"
end
return app_name
end
执行:
puts parse_app_name("jdk-8u92-linux-x64.rpm", "b14")
输出:
1.8.0_92-b14
现有的java版本:
$ java -version
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)
检查现有的java版本:
system('java -version', :out => ['/tmp/log', 'a'], :err => ['/tmp/log', 'a'])
puts File.read("/tmp/log").split("\n")[1].scan(/\d.*/)[0].chomp(")").eql? parse_app_name("jdk-8u92-linux-x64.rpm", "b14")
输出:
true
关于java - 如何将 jdk-8u74-linux-x64.rpm 转换为 1.8.0_74 以检查 java 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38942119/
我是一名优秀的程序员,十分优秀!