检查rpm是否安装了ruby脚本

检查rpm是否安装了ruby脚本,ruby,rpm,Ruby,Rpm,我正试图重写一些bash脚本,其中一节检查系统上是否使用基本if语句安装了某些rpm if rpm -qa | grep rpmnamehere; then do stuff 我想在ruby中做一些类似的事情,但是我对这一点非常陌生,不确定在文档中的什么地方可以找到 谢谢,您可以在ruby脚本中调用shell命令,并将输出保存在变量中 a = %x{rpm -qa | grep rpmnamehere} puts a 或者只调用命令 `rpm -qa | grep rpmnameh

我正试图重写一些bash脚本,其中一节检查系统上是否使用基本if语句安装了某些rpm

if rpm -qa | grep rpmnamehere; then
     do stuff
我想在ruby中做一些类似的事情,但是我对这一点非常陌生,不确定在文档中的什么地方可以找到


谢谢,您可以在ruby脚本中调用shell命令,并将输出保存在变量中

a = %x{rpm -qa | grep rpmnamehere}
puts a
或者只调用命令

`rpm -qa | grep rpmnamehere`
所以,我认为你可以这样解决你的问题

unless `rpm -qa | grep rpmnamehere`.empty?
  # do stuff
end

您可以在ruby代码中执行以下操作:

if system "rpm -qa | grep rpmnamehere"
   #additional ruby statements
end

系统调用将返回true或false,具体取决于系统命令是否成功。

我发现这一点更清晰,我想依靠grep提供正确的退出代码是相当安全的。