Моя задача - создать автоматический скрипт, который отправляет команды на маршрутизатор mikrotik через telnet. Я пытаюсь создать сценарий "ожидай".
Но я застрял в части отправки команд. Автономный вход в систему работает хорошо (первый код), но когда я добавляю другую команду (второй код), консоль застревает на пароле (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
PPS. Ранее упомянутые устройства предназначены для загрузки окончательного решения, у меня есть еще один маршрутизатор и компьютер (Ubuntu 18.10 и RouterOS 6.44.1), где я пробую свои сценарии и вывод, который я показал на рисунке, который отображается на обоих моих маршрутизаторах и компьютерах.
Буду благодарен за любые советы по моей проблеме.