моя задача создать автоматический скрипт, который отправляет команды на роутер микротик через телнет. Я пытаюсь создать сценарий "ожидания".
Но я застрял в части отправки команды. Автономный вход в систему работает хорошо (первый код), но когда я добавляю другую команду (второй код), консоль зависает на пароле (https://imgur.com/WqXjyUP) в течение нескольких секунд, а затем я получаю вывод в виде изображения: https://imgur.com/BR6a2q6
Первый код для входа в роутер. Этот отлично работает.
spawn telnet "12.12.13.44";
expect "Login: ";
send "admin\r";
expect "password: ";
send "admin\r";
interact;
и вот тот же код после добавления команды, мне нравится отправлять
spawn telnet "12.12.13.44";
expect "Login: ";
send "admin\r";
expect "password: ";
send "admin\r";
expect "> ";
send "ip firewall filter add chain=forward src-address=34.54.32.33 action=log\r";
exit;
Я получил тот же результат при использовании скрипта без ожидания, которое я пробовал до «ожидания».
(
echo open "12.12.13.44"
sleep 2
echo "admin"
sleep 2
echo "admin"
sleep 2
echo "ip firewall filter add chain=forward src-address=34.54.32.33 action=log"
sleep 2
echo "exit"
) | telnet
PS. Я использую Debian версии 8 и RouterOS 6.34.4.
ППС. Ранее упомянутые устройства предназначены для загрузки окончательного решения, у меня есть еще один маршрутизатор и компьютер (Ubuntu 18.10 и RouterOS 6.44.1), где я пробую свои сценарии, и результат, который я показал на рисунке, появляется как на моих маршрутизаторах, так и на компьютерах.
Буду благодарен за любой совет по моей проблеме.