Информация
Настройка
Новости
Контакты
Новинка
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    RouterOS
    Запрос на улучшение языка сценариев

    Запрос на улучшение языка сценариев

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Запрос на улучшение языка сценариев, RouterOS
     
    pribasv
    Guest
    #1
    0
    15.05.2014 15:26:00
    RouterOS на самом деле предлагает полезную функцию написания скриптов, но язык скриптов очень ограничен. Он позволяет получить доступ и изменить все функции RouterOS, но доступно всего несколько типов данных, ещё меньше функций для работы с ними, только базовые команды/функции, ограниченный контроль циклов, отсутствует обработка ошибок и исключений и так далее. Просматривая форумы, можно заметить, что, например, простая задача вроде сравнения двух значений даты или преобразования строки в верхний регистр требует сложных решений, тогда как в большинстве современных языков это элементарные операции. Знаю, что в версии 4 была попытка интегрировать LUA в RouterOS, но она была заброшена. LUA кажется хорошим вариантом для встроенного скриптинга, но это не единственная возможность. Было бы отлично иметь полнофункциональный язык в RouterOS, например LUA, PERL или Python, даже классический BASIC уже был бы улучшением. Нам не нужен полноценный язык с полной функциональностью, даже ограниченная версия любого из этих языков с доступом к функциям RouterOS дала бы практически безграничные возможности для наших устройств. Идём дальше: сейчас запуск скриптов в RouterOS возможен лишь через ограниченное число функций — scheduler, netwatch и т.п. Но представим, что будет полноценная система обработки событий. Например, при отключении интерфейса запускать скрипт xxx, или при установке/потере VPN-туннеля выполнять yyy. Понимаю, что это сложная задача, но это добавило бы невероятно мощный функционал к продукту, который уже и так отличный. Спасибо!
     
     
     
    hzdrus
    Guest
    #2
    0
    05.08.2014 08:33:00
    Также мы считаем невозможность запуска команд или скриптов по событию очень ограничивающей, особенно при развертывании MPLS VPN. Необходимо следующее: возможность указать команды или скрипты для выполнения внутри RADIUS-ответа; механизм запуска скрипта для каждой новой строки лога (чтобы не приходилось использовать костыль с планировщиком, запускающим скрипт каждые N секунд).
     
     
     
    Solaris
    Guest
    #3
    0
    15.08.2014 09:03:00
    +1 лайк за это!
     
     
     
    SystemErrorMessage
    Guest
    #4
    0
    06.11.2014 02:06:00
    Полностью согласен с этим. Было бы здорово, если бы скрипты могли работать в многопоточном режиме и не запускались все на одном ядре. Также хорошо было бы, если бы скрипты компилировались после создания или редактирования, чтобы они работали быстрее.
     
     
     
    bronx
    Guest
    #5
    0
    15.02.2015 19:08:00
    Плюс один за LUA =)
     
     
     
    midenok
    Guest
    #6
    0
    25.04.2016 16:47:00
    Хотя бы сделайте возможность обрабатывать текстовые файлы любого размера (убрав ограничение в 4к или читая по частям). Или сделайте так, чтобы /tool fetch выводил данные в виде массива строк. Исправьте этот баг. А если не хотите исправлять ничего из перечисленного, тогда сделайте доступным LUA!
     
     
     
    docmarius
    Guest
    #7
    0
    25.04.2016 16:56:00
    Обработка ошибок в скриптах тоже была бы неплохим началом. В текущих реализациях ошибка команды приводит к выходу из скрипта прямо в консоль, даже если скрипты вложены друг в друга.
     
     
     
    mrz
    Guest
    #8
    0
    26.04.2016 07:50:00
    Вы можете отследить эти ошибки http://wiki.mikrotik.com/wiki/Manual:Scripting#Catch_run-time_errors
     
     
     
    docmarius
    Guest
    #9
    0
    26.04.2016 17:33:00
    Ты можешь поймать эти ошибки http://wiki.mikrotik.com/wiki/Manual:Scripting#Catch_run-time_errors Спасибо. Я это пропустил…
     
     
     
    HughPH
    Guest
    #10
    0
    26.05.2016 21:15:00
    Добавлю сюда своё личное пожелание: возможность читать из файла больше чем 4096 байт. Я понимаю, что свойство content файла — это строка, и именно из-за этого возникает ограничение. Возможно, стоит добавить свойство binarycontent, которое будет байтовым массивом. На его основе можно было бы реализовать чтение файла построчно. Впрочем, многое зависит от деталей — может, эту функцию получится сделать через механизм чтения с указанием стартовой позиции и либо длины, либо «до» определённого байта. Например (это псевдокод, не mikrotik код):

    while(eof == false)
    {
    int fromPosition = currentPosition + 1;
    string nextline = readbytes(fromPosition, '\r');
    }
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры