2011-11-21 100 views
2

我試圖重寫一些的bash腳本和部分之一檢查是否一定的轉速下在系統上安裝了一個基本的if語句檢查RPM安裝使用Ruby腳本

if rpm -qa | grep rpmnamehere; then 
    do stuff 

我想做的事情在ruby中有類似的東西,但是對於這個我很新,而且不確定在文檔中的位置。

感謝

回答

3

可以在Ruby腳本調用shell命令,並在可變

a = %x{rpm -qa | grep rpmnamehere} 
puts a 

或只調用命令的輸出保存

​​

所以,我認爲你可以解決你的問題像這樣

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

你可以做這樣的事情在Ruby代碼:

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

系統調用將返回true或false取決於如果系統命令成功與否。

+0

我覺得這有點清潔,我想依靠grep給出正確的退出代碼是相當安全的。 –