Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • 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
     
    baumie
    Guest
    #1
    0
    05.04.2008 11:22:00
    Привет! Хотел узнать, есть ли способ передавать параметры в MT-скрипт. Например, я хочу изменить лимиты запросов для определенных групп пользователей. Могу ли я написать один скрипт и получать лимиты из параметров, переданных в скрипт, или же мне придется писать отдельный скрипт для каждого лимита и группы?
     
     
     
    Etz
    Guest
    #2
    0
    12.02.2019 22:13:00
    Прошу прощения за воскрешение темы, но как передать несколько параметров в скрипт? Сработает вот это?: { :global myVar1 999; :global myVar2 9999; /system script run myScript; } Учитывая, что у MyScript есть глобальные переменные MyVar1 и MyVar2?
     
     
     
    Jotne
    Guest
    #3
    0
    13.02.2019 14:25:00
    Должно работать, если объявлять глобальные переменные в подскрипте вот так: :global myVar1, :global myVar2. Кстати, не нужно использовать ; в конце строки, только для разделения нескольких команд в одной строке. Так скрипт можно было бы написать: { :global myVar1 999, :global myVar2 9999, /system script run myScript }.
     
     
     
    A9691
    Guest
    #4
    0
    12.09.2019 13:24:00
    Ты можешь передавать параметры в файлы скриптов, которые запускаются с помощью /import. Например: Содержимое fact.rsc: :if ($1 > 1) do={
    :global fact
    :set $result ([$fact ( $1 - 1 )]*($1))
    } else={
    :set $result 1
    } Определяем функцию fact: :global fact do={/import "fact.rsc"; return $result} Тестирование: [admin@bkeniko] > :put [$fact 3]

    Файл скрипта загружен и выполнен успешно

    Файл скрипта загружен и выполнен успешно

    Файл скрипта загружен и выполнен успешно
    6
    [admin@bkeniko] > Есть ли какая-нибудь документация по этому? (проверено на v6.40.8)
     
     
     
    SiB
    Guest
    #5
    0
    13.09.2019 09:40:00
    По-моему, это что-то новое, я не могу понять, как передавать переменную через глобальную функцию.to /import feature. Это как рекурсия. Работает в 6.45.3.
     
     
     
    A9691
    Guest
    #6
    0
    10.10.2023 12:47:00
    Когда используется команда /import внутри функции или скрипта, параметры, доступные в функции, становятся доступны в файле скрипта. Просто не объявляйте их как :local или :global. Например: [a@mk] > :global myfunc do={ /import myfunc.rsc } myfunc.rsc: :put "passed parameters: $1 $2 $3" Попробуйте: [a@mk] > $myfunc A B C
    passed parameters: A B C

    Файл скрипта загружен и выполнен успешно
    [a@mk] > Определите функцию $import и используйте её вместо /import, и проблема передачи параметров в файл скрипта решена. Поддерживаются именованные параметры. :global import do={ :global result; :set result; /import "$1.rsc"; :local r $result; :set result; :return $r} Глобальная переменная $result используется для сохранения возвращаемого значения файла скрипта до тех пор, пока оно не будет возвращено функцией $import. Её нужно очищать до и после вызова скрипта, чтобы избежать «необъяснимых» ошибок. Единственное раздражающее – это сообщения «Файл скрипта загружен и выполнен успешно». Они появляются, и ты не знаешь, какой файл был загружен.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры