我需要使用期望自動登錄到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