在linux上查找带有expect的已安装软件包

时间:2016-12-14 11:38:15

标签: expect

我想检查服务器上是否安装了rpm软件包及其版本。

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 个答案:

答案 0 :(得分: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"
  }
}