У меня есть текстовое меню, работающее на удаленном хосте Linux. Я использую ожидаем ssh в этот хост и хотел бы выяснить, как взаимодействовать с меню. Взаимодействие включает в себя стрелки вверх, вниз и с помощью клавиш ввода и возврата. Например,
Disconnect
Data Collection >
Utilities >
Save Changes
При входе в систему отключение подсвечивается. Таким образом, нажав дважды кнопку ввода, вы можете отключиться от системы. Второй ввод подтверждает отключение.
Следующий код войдет в мою систему по ssh и вызовет меню. Если я удаляю ожидаемый eof и пытаюсь отправить «\ r», думая, что это выберет пункт меню «Отключить», я получаю следующую ошибку: «write () ничего не записал - будет спать (1) и повторять ...»
#!/usr/bin/expect
set env(TERM) vt100
set password abc123
set ipaddr 162.116.11.100
set timeout -1
match_max -d 100000
spawn ssh root@$ipaddr
exp_internal 1
expect "*password:*"
send -- "$password\r"
expect "Last login: *\r"
expect eof
Я посмотрел примеры virterm и term_expect, но не могу понять, как настроить их для меня. Если кто-то может указать мне правильное направление, я был бы очень признателен. Что мне нужно знать, так это то, могу ли я взаимодействовать с системой текстового меню и каков правильный метод для этого, примеры, если таковые существуют, были бы хорошими.
спасибо,
-reagan