我需要使用期望自动登录到TELNET会话,但是我需要照顾同一用户名的多个密码。在'expect'中使用条件语句
这是我需要创建流程:
- 打开Telnet会话的IP
- 发送用户名
- 发送密码
- 密码错误?再次发送相同的用户名,然后不同的密码
- 应该已经成功登录在这一点上...
对于它的价值,这里就是我这么远:
#!/usr/bin/expect
spawn telnet 192.168.40.100
expect "login:"
send "spongebob\r"
expect "password:"
send "squarepants\r"
expect "login incorrect" {
expect "login:"
send "spongebob\r"
expect "password:"
send "rhombuspants\r"
}
expect "prompt\>" {
send_user "success!\r"
}
send "blah...blah...blah\r"
不用说,这不起作用,也不看起来非常漂亮。从我的冒险与谷歌期待似乎是一个黑暗艺术的东西。在此先感谢任何人提供有关此事的协助!
我已将更多信息添加到我的答案中。 – tvanfosson 2009-10-08 15:40:35