Я пытаюсь создать простой сценарий подключения telnet.Я порождаю процесс Telnet.В зависимости от версии, он может запрашивать или не запрашивать пароль.
После этого он запрашивает имя пользователя и пароль и принимает правила.После успешного входа в систему он запрашивает команду.
Однако то, что я написал, не работает.
#/usr/bin/expect -f
set IP [lindex $argv 0]
set timeout 10
set send_slow {10 .5}
log_user 1
spawn telnet -l cli $IP
expect {
timeout {
puts "Network Connection Problem"
close
}
"Password:" {
send -s -- "cli\r"
exp_continue
}
"Username:" {
send -s -- "admin\r"
expect "Password:"
send -s -- "admin\r"
exp_continue
}
"(Y/N)?" {
send -s -- "Y\r"
exp_continue
}
}
expect "# "
send -s -- "show version\r"
После запуска сценария я прохожу через логин и соглашение.После отображения приглашения сценарий не выполняет команду show version.Курсор мигает через несколько секунд, когда я вижу информацию:
ожидаемо: spawn id exp6 не открывается при выполнении команды "ожидаемо" # ""
Может кто-нибудь исправить ошибки?Я прочитал руководство по эксплуатации, прошел примерные сценарии, но не смог найти никакого решения.Я уверен, что это просто, но я борюсь здесь.
Помоги мне, капитан.