#!/usr/bin/expect -f
spawn telnet 10.21.0.17
expect -re "login"
send "admin\n"
expect -re "Password"
send "supersecurepassword\n"
interact
按预期工作。运行脚本后,我登录到我在行spawn telnet 10.21.0.17
然后它把我带到了AP的壳牌
WAP->
如何发出更多命令?我想发布reboot
,然后发布sleep 20
,最后exit
。
我尝试过使用echo
和expect
但没有成功。我也尝试删除interact
但没有成功。有什么想法吗?
答案 0 :(得分:2)
只需在sleep
之前添加expect
,当然还有not including interact
即可解决此问题,以下情况很有效:
#!/usr/bin/expect -f
spawn telnet 10.21.0.17
expect -re "login"
send "admin\n"
expect -re "Password"
send "supersecurepassword\n"
sleep 5
expect "WAP"
send "reboot\n"
send "exit\n"
作为参考,这用于在D-Link DAP-2590无线接入点上自动重启。既然我知道这一点,我可能会将它用于其他事情:更改密码等。希望它能帮助其他人。