【发布时间】:2015-07-30 13:31:19
【问题描述】:
我正在遍历 IP 地址列表并使用 SSH 登录它们。但是,其中一些没有 SSH,而只有 telnet。我如何告诉 Expect:如果 SSH 失败,请重试但使用 telnet?
我知道当 SSH 失败时会输出一条消息“连接被拒绝”,但是当我尝试将其用作条件时,expect 无法使用它...在 SSH 尝试被拒绝后,脚本会中断。
这是一个代码 sn-p - 这不起作用:
foreach line $MACHINES {
spawn ssh -q $USER@$line
expect {
-ex "ssh: connect to host $line port 22: Connection refused" {
spawn telnet -l $USER@$line; continue
}
}
}
提前非常感谢您, D
【问题讨论】:
-
用
expect -d运行你的脚本,看看有什么问题。
标签: expect