Как выполнить несколько команд подряд в скрипте mikrotik?

Пишу скрипт который при смене маршрута отправляет на почту уведомление, но всегда выполняется только первая команда. В чем может быть проблема?
/ip route set [/ip route find dst-address=0.0.0.0/0] gateway=99.99.99.99
/tool e-mail send server=192.168.1.1 port=25 user=test1@test.org password=PASSWORD to=test2@test.org from="ROBOT" \
subject="MikroTik: $[/system clock get date], $[/system clock get time]" \
body="ОСНОВНОЙ КАНАЛ\nДата: $[/system clock get date]\nAВремя: $[/system clock get time]";


По отдельности и вместе через консоль команды выполняются.
  • Вопрос задан
  • 2026 просмотров
Решения вопроса 2
@Astrawelt
Антон
Это как в терминале линукса:
Если команды должны запускаться по очереди, то в конце каждой команды нужно ставить точку с запятой ";"
Если нужно зависимое выполнение команды, то нужно ставить "$$" или "||", что означают логическое И и ИЛИ.
Если нужно одновременное исполнение команд, то в конце ставится одиночный "&".
Ответ написан
Комментировать
vasilevkirill
@vasilevkirill
Сертифицированный тренер MikroTik TR0417
правильно сказали перенос строк возожно, используйте notepad++
а также поменяйте первую строку с
/ip route set [/ip route find dst-address=0.0.0.0/0] gateway=99.99.99.99
на
/ip route set gateway=99.99.99.99 [find dst-address=0.0.0.0/0]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Tabletko
никого не трогаю, починяю примус
Копируете от куда то? Видимо виндовые переносы строк не переваривает. Всё что идёт после второй команды должно быть одной строкой.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы