Tcl期待:你怎么能在1行中看到2场比赛

时间:2017-03-30 07:10:56

标签: linux tcl expect

你怎么能期望在1行中有2场比赛

expect "New password*" | "Retype"
send "something\r

2 个答案:

答案 0 :(得分:1)

您可以使用-re标志启用正则表达式支持。

 expect -re "New password*|Retype" 
 send "something\r"

答案 1 :(得分:0)

最简单的方法是切换到使用expect的其他形式:

expect {
   "New password*" {}
   "Retype" {}
}
send "something\r

如果你需要根据发生的事情做出不同的反应,{}可以是完整的脚本。如果您想要响应某些内容并继续等待,exp_continue命令很有用:

expect {
   "New password*" {
       send "$thepassword\r"
       exp_continue
   }
   "Retype" {
       send "$thepassword\r"
       exp_continue
   }
   "thepromptyouexpectafterwards" {}
}
send "something else\r