Попытка перезагрузить 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
Другие вопросы по тегам