Я борюсь с выполнением команды через Telnet / Expect.
set send_slow {500 .5}
send -s -- "show slot *\r"
expect {
".*>" {
send -s -- "y\r"
exp_continue
}
".*#\s"
}
send -s "who\r"
expect "# "
send -s "alm\r"
expect "# "
send -s -- "logout\r"
show slot
команда печатает карту в слоты.Из-за пейджинга пользователя просят продолжить.После выполнения отображается приглашение NODE2-1#
, и я хочу выполнить команду who
.
Что я получаю:
2/36 PF Empty Up Down UEQ
2/37 FAN FAN Up Up
2/38 Empty Empty Down Down UAS UEQ
2/39 Empty Empty Down Down UAS UEQ
25/1 SFD40 SFD40 Up Up
Node2-1#<br> Node2-1# who
Session Username Date Terminal
-------------------------------------------------------------------------------
116 (cli tel) * admin May 29 06:57 XX.X.XX.XX
Node2-1# almlogout
Alarm Status: Critical-3 Major-0 Minor-0
Как видите, первое приглашение остается пустыма во втором есть команда.Для его выполнения требуется несколько секунд.
Более того, ниже видно, что в приглашении есть вставленная команда almlogout
.Эти две отдельные команды -> alm
и logout
.Однако они вставляются вместе.
Вопрос в том, как выполнить команду без подсказки без задержки, а во-вторых, как разделить две команды
.