首页 > 解决方案 > Expect中的`expect_before`命令有什么用?

问题描述

医生说:

接受与 相同的参数expect,但它立即返回。

但是“立即返回”是什么意思?

这个命令的用途是什么?

标签: expect

解决方案


图片你生成了一个程序,比如说,随机询问“你确定 [yn]?”
想象一下,这个程序有 100 个问题需要回答。

对于这 100 个问题,您不希望有条件地期待“你确定”的问题。

Expect 让您可以:

spawn /some/annoying/program

expect_before {
    "Are you sure \[yn]?" {
        send "y\r"
        exp_continue
    }
}

expect "first question"
send "first answer\r"
# and so on.

现在你被覆盖了:expect隐式地​​将expect_before代码添加到每个 expect命令中。


推荐阅读