下面是一个示例片段,通常它可以正常工作,除非我们传递一些关闭服务器或导致断开连接的命令。
为了处理这个问题,发送后是否可以期待“#”或eof指令。
send "${_cmd_}\r"
expect "#"
send "exit\r"
答案1
当然,如果连接关闭,expect将对特殊模式做出反应eof
。你想做的是这个
- 如果连接关闭,则预期
eof
- 如果看到提示,请发送
exit
命令,然后继续等待eof
send "$_cmd_\r"
expect {
"#" {
send "exit\r"
exp_continue
}
eof
}
# do something after the connection is closed