【问题标题】:What's the usage of `expect_before` command in Expect?Expect中的`expect_before`命令有什么用?
【发布时间】:2020-07-16 05:05:35
【问题描述】:

文档说:

采用与expect 相同的参数,但它会立即返回。

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

这个命令有什么用处?

【问题讨论】:

    标签: expect


    【解决方案1】:

    您生成了一个程序的图像,例如,随机询问“您确定 [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_before代码添加到每个expect命令中。

    【讨论】:

    • 谢谢! “立即返回”是什么意思?
    • Expect 不会停止并等待生成的进程输出“Are you sure”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 2017-06-03
    • 2016-09-20
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    相关资源
    最近更新 更多