Информация
Настройка
Новости
Контакты
Новинка
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
    • 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
     
    CyberTod
    Guest
    #1
    0
    06.01.2014 17:37:00
    Привет, я написал небольшой скрипт давненько, и он работал нормально в v5. Может, я недостаточно хорошо его протестировал. Но вот в чем проблема: `:local currentip [/interface wireless registration-table get [find where mac-address=$clientmac] value-name=last-ip];` Эта часть скрипта должна получать `last-ip` записи в таблице регистрации, и это работает. Он действительно получает IP-адрес. Но работает правильно только в том случае, если этот MAC-адрес есть в таблице регистрации. Я думаю, что когда выражение `find where` не выполняется, оно должно возвращать пустую строку, но вместо этого оно берет `last-ip` из первой записи в таблице и присваивает его переменной. Может ли кто-нибудь подсказать, почему он ведет себя так и, возможно, как это исправить?

    P.S. Я довольно уверен, что я проводил тесты на случай, если этого MAC нет, еще в v5, потому что я проверяю пустую строку позже в скрипте: … и [:len $currentip] > 0

    Сейчас плата использует последнюю версию RouterOS v6.7.
     
     
     
    skot
    Guest
    #2
    0
    07.01.2014 16:34:00
    Если вставить это в терминал с существующим MAC, то должно вернуть 1, а если MAC не существует, то 0: :put [:len [/interface wireless registration-table find where mac-address=00:0C:42:12:34:56]

    Тогда ты можешь изменить свой скрипт, чтобы сначала проверить, есть ли этот MAC в таблице, а потом уже делать, что нужно. Что-то вроде:

    :if ([:len [/interface wireless registration-table find where mac-address=$clientmac]] = 1) do={ … делать что-то … } else={ /log info “MAC $clientmac не найден…” }
     
     
     
    CyberTod
    Guest
    #3
    0
    07.01.2014 16:53:00
    Спасибо. Я понял, о чём речь, и внес это исправление в скрипт. Теперь работает, как и задумано. Но странно, почему так происходит. В предыдущих версиях такого не было. Команда, которую я прислал, возвращала пустую строку.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры