【问题标题】:Find installed package with expect on linux在linux上使用expect查找已安装的包
【发布时间】:2016-12-14 11:38:15
【问题描述】:

我想检查服务器上是否安装了 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 线程?

【问题讨论】:

    标签: expect


    【解决方案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"
      }
    }
    

    【讨论】:

    • 我从中学到的主要教训:错误永远不应该默默地过去。谢谢
    猜你喜欢
    • 2011-11-17
    • 2015-09-27
    • 2012-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多