Я работаю над скриптом для автоматизации инструкций на маршрутизаторе Cisco IOS с использованием команд ожидания.Последняя команда ожидания не выполнена
Вот сценарий я написал:
#!/bin/expect
#log_user 0
set timeout 60
set mode [lindex $argv 0]
spawn ssh [email protected]
expect "*assword:" {
send "mypassword\r"
}
expect "*>" {
send "enable \r"
}
expect "*#" {
send "conf t \r"
}
expect "*(config)" {
send "interface Serial0/0/0 \r"
send "clock rate 14400\r"
}
Моя проблема, этот скрипт останавливается на "router1 (конфигурации) #" состояние. Но если я положил команду interact
в конце моего скрипта, все это работает правильно. Пользователь правильно переходит в режим конфигурации интерфейса, а тактовая частота хорошо обновляется. Но факт в том, что я не хочу, чтобы пользователь взаимодействовал.
Так что я действительно не понимаю, что происходит, и почему я не могу просто закончить сценарий, как это ...
Если у вас есть какие-либо улики ...?
запустите свой сценарий с 'expect -d' и просмотрите вывод отладки, чтобы увидеть, соответствуют ли ваши шаблоны. –