【发布时间】:2016-08-05 05:56:48
【问题描述】:
我有一台机器可以通过 telnet 登录,然后通过“ctrl+C”直到看到提示。 ctrl+C 可能并不总是有效,因此我必须每 5 秒尝试一次,直到看到预期的输出 ($prompt)。
如果我没有收到 $prompt,我如何确保我可以有效地重试 while 循环?此代码是否低于最佳实践?我担心的是,我不知道当“ctrl+C”失败时我会得到什么,它可能是任何东西,除非它是 $prompt,否则它必须被忽略。
while { $disableFlag == 0 } {
send "^C\r"
expect {
"*$prompt*" {
puts "Found the prompt"
sleep 5
}
"*" {
set disableFlag 1
puts "Retrying"
sleep 5
}
}
}
【问题讨论】:
标签: while-loop expect