期待预期的意外

时间:2017-05-23 10:25:03

标签: expect

当它看到除预期之外的其他任何东西时,我怎么能指示期望呢?

示例,我尝试自动登录。除了成功尝试之外的任何事情,我需要脚本向我发送错误。我怎么期待意外的输出? (我知道一些结果,如连接被拒绝或密码错误,但我想抓住所有内容)

1 个答案:

答案 0 :(得分:3)

试试这样:

set timeout 10; # set a reasonable timeout

# expect and send username/password ...

set success 0
set err_msg ""
expect {
  "Login success!" {
    set success 1
  }
  eof {
    set err_msg $expect_out(buffer)
  }
  timeout {
    expect *
    set err_msg $expect_out(buffer)
  }
}

if {! $success} {
  send_mail $err_msg
  exit 1
}