我正在使用Telnet向Mikrotik路由器發送命令。帶有期望的Telnet自動化:認證緩慢?
telnet 192.168.100.100 -l admin
Password: pass1234
[[email protected]] > /interface pppoe-server remove [find user=aspeed13]
[[email protected]] > quit
它工作正常。
現在我想用期望TCL腳本來自動執行它:
#!/usr/bin/expect --
spawn telnet 192.168.100.100
expect "Login:"
send "admin\r"
expect "Password:"
send "pass1234\r"
expect "\[[email protected]\] >"
send "/interface pppoe-server remove \[find user=aspeed13\]\r"
expect "\[[email protected]\] >"
send "quit\r"
它的工作原理,但認證(第6行:send "pass1234\r"
)後,當路由器CLI加載它同時具有下列特徵^[[?6c^[[24;3R
凍結了〜10秒 然後腳本運行正常。
我的問題是爲什麼手動訪問時Telnet快速加載,並且通過期望腳本訪問需要太多時間?我在論壇上看到有關telnet自動化的說法,他們說telnet速度很慢,但是由於手動速度太快,爲什麼需要時間加載預期?
'expect'是'tcl',而不是'bash' – ninjalj 2011-05-08 13:24:23
如果用'expect -re>>「'替換下一個'expect'行,它會起作用嗎? – ninjalj 2011-05-08 13:27:28
感謝ninjalj的更正。 – 2011-05-08 14:58:26