Попытка перезагрузить ADSL модем с помощью сценария ожидаемого
Я пытаюсь создать скрипт Linux, который может перезагрузить мой модем ASDL.
Вот мой 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"
не работает!
Что мне здесь не хватает?
PS:
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