2016-12-14 95 views
0

我想檢查一下安裝在服務器上的rpm軟件包和版本。在linux上查找已安裝的軟件包

send "rpm -qa | grep ^cman\r" 
expect { 
    -re "(cman-.*)\r" { set cman $expect_out(0,string) } 
    default { set cman "no cman" } 
} 

當cman安裝時它可以正常工作,但當cman不在列表中時等待超時。

我該如何檢查else線程?

回答

1

嘗試這樣的:

send "rpm -qa | grep ^cman || echo 'c'man_not_found\r" 
expect { 
    -re "(cman-.*)\r" { 
    set cman $expect_out(1,string) 
    } 
    cman_not_found { 
    set cman "no cman" 
    } 
} 
+0

我從中學到的主要教訓:錯誤不應該無聲地傳遞。謝謝 – jshepherd