Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
     
    marrold
    Guest
    #1
    0
    04.08.2014 15:01:00
    Всем привет, я делаю «скрипт для установки» другого скрипта на RouterBOARD. Пока что он оформлен как функция, и пользователь может передавать ей аргументы. Есть ли способ в скрипте запросить ввод пользователя через консоль? Например: $Пожалуйста, введите WAN интерфейс- $_
     
     
     
    A9691
    Guest
    #2
    0
    01.03.2018 20:19:00
    Попробуйте следующее: # функция, чтобы запросить у пользователя ввод значения
    :global read do={:return}

    # сохранение значения, введённого пользователем
    :local userinput [$read] Интересно, что если пользователь введёт 192.168.10.0/24, то [:typeof $userinput] будет ip-prefix, а не str.
     
     
     
    sebastia
    Guest
    #3
    0
    01.03.2018 21:09:00
    Возможно, вам тоже стоит взглянуть на эти темы: http://forum.mikrotik.com/t/how-to-handle-y-n-response-in-rsc-script/37083/1 и http://forum.mikrotik.com/t/functions-in-cmd-scripts/34902/1
     
     
     
    DiVersant
    Guest
    #4
    0
    04.06.2018 08:21:00
    Я пытаюсь сделать скрипт для начальной настройки и нужно считать ввод пользователя, чтобы установить имя роутера, WAN IP и шлюз, локальный IP и шлюз и так далее... Когда пробую использовать функцию #, чтобы запросить у пользователя ввод значения  
    :global read do={:return}  

    # сохраняю значение, введённое пользователем  
    :local userinput [$read]

    при этом $read выводит мне “;(eval (eval /return))” в ответ. Что я делаю не так? FW с версии 6.39 до 6.42.3.
     
     
     
    cantanko
    Guest
    #5
    0
    20.06.2018 13:40:00
    Тебе нужно использовать :put $userinput, а не :put $read
     
     
     
    dasiu
    Guest
    #6
    0
    20.06.2018 14:39:00
    Или используйте: :put [$read] — чтобы запустить скрипт (как пользовательский ввод) и сразу вывести результат на экран, не «сохраняя» его в переменную.
     
     
     
    dke
    Guest
    #7
    0
    04.06.2020 04:55:00
    :put $userinput тоже пустой у меня после запроса значения (v6.47).
     
     
     
    msatter
    Guest
    #8
    0
    23.11.2020 13:35:00
    Если нужно получить настоящий код, тогда используйте дополнительную пару квадратных скобок. :local userinput [$read]; :put [$userinput]; или используйте :set вместо local/global :set [userinput [$read]]; :put $userinput
     
     
     
    liuyao
    Guest
    #9
    0
    18.11.2021 16:13:00
    {:local userinput [:return]; :put [$userinput]; } отлично
     
     
     
    rextended
    Guest
    #10
    0
    18.11.2021 18:02:00
    Это не работает, вторая команда put не выполняется, терминал выводит результат независимо от :put.
     
     
     
    rextended
    Guest
    #11
    0
    18.11.2021 18:10:00
    Это рабочий пример для версии 6.47.10 (не тестировался на других версиях): {
    :local readinput do={:return}
    :put "\r\nВведите строку, которую хотите использовать"
    :local input [$readinput]
    :put "\r\nВы ввели: $input"
    :put "Это значение типа $[:typeof $input]\r\n"
    }
     
     
     
    Jotne
    Guest
    #12
    0
    18.11.2021 18:58:00
    Работает и на версии 6.48.4.
     
     
     
    liuyao
    Guest
    #13
    0
    19.11.2021 10:27:00
    Ты прав. Спасибо.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры