我正在尝试创建一个可以重新启动我的 ASDL 调制解调器的 Linux 脚本。
这是我的rebootModem.exp
文件:
#!/usr/bin/expect
set userName admin
set pass admin
set command reboot #It is modem reboot command
set timeout 20
spawn telnet 192.168.1.1
expect "Login: "
send "$userName\r"
expect "Password: "
send "$pass\r"
send "$command\r"
当我运行该文件时,它让我:
spawn telnet 192.168.1.1
Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
BCM96338 ADSL Router
Login: admin
Password: [kamix@localhost ~]$
似乎send "$command\r"
不起作用!。
我在这里遗漏了什么?
附言:
rebootModem.exp
是可执行的(+x
)。
答案1
解决方案 :
相互影响重启命令后必须使用:
#!/usr/bin/expect
set userName admin
set pass admin
set command reboot
set timeout 20
spawn telnet 192.168.1.1
expect "Login:"
send "$userName\r"
expect "Password:"
send "$pass\r"
expect ">"
send "$command\r"
interact