我对 TCL/EXPECT 中的以下代码有疑问:
expect {
timeout {
puts "timeout error"
}
-re "Please enter the play name" {
exp_send $common1
exp_continue
}
-re "Please enter the play name_type" {
exp_send $common2
exp_continue
}
-re "Now you can get the information of the play" {
expect {
-re "\r"
}
}
}
如果我运行上面的代码,它将卡在第二个代码块(-re“请输入播放名称_类型”)。为什么会发生这种情况?如果我移动顶部的第二个代码块(-re“请输入播放名称_类型”),前两个将通过。是什么原因?
并且似乎第三个代码块从未执行过,我在其中添加了一些跟踪,如下所示:puts "executed!!!!"
,消息从未显示,并且似乎它忽略了第三个代码块并执行了整个期望块下的代码,如何修复它?