profvit:
Я в этой теме новенький прошу сильно не пинать. Не давно стал обладателем rb951. Решил написать пару скриптов но столкнулся с проблемой. Есть маленький скрипт для подсчета клиентов wifi. При выполнении его в терминале (новом окне) все ок. Но если его сохранить его в скриптах и запустить то он считает не правильно. Например: есть 3 клиента подключенные по wifi, и выполнить скрипт то он посчитает правильно, но если одного из клиентов отключить то он все равно посчитает их 3, хотя по факту 2. (единственный способ как исправить что я знаю на данный момент это перезагрузка). Подобное поведение и в терминале: если открыто окно терминала и в нем выполнить скрипт то он выполнится правильно, но если отключить клиента Wifi, а терминал не закрыть то он тоже будет считать что кол-во клиентов не изменилось (здесь лечится открытием нового окна терминала). Такое ощущение что создается своеобразная сессия и все действия происходят в пределах ее и пока ее не сбросишь данные не обновятся. Вопрос это как-то можно обойти?
Сам скрипт:
:global kolvo2 0;
:local $xyz 0;
:do {do {[/interface wireless registration-table get number=$kolvo2 mac-address];
:set $kolvo2 ($kolvo2 +1)} on-error={:set $xyz 1;}} while=($xyz!=1)
:log info "$kolvo2";
Я в этой теме новенький прошу сильно не пинать. Не давно стал обладателем rb951. Решил написать пару скриптов но столкнулся с проблемой. Есть маленький скрипт для подсчета клиентов wifi. При выполнении его в терминале (новом окне) все ок. Но если его сохранить его в скриптах и запустить то он считает не правильно. Например: есть 3 клиента подключенные по wifi, и выполнить скрипт то он посчитает правильно, но если одного из клиентов отключить то он все равно посчитает их 3, хотя по факту 2. (единственный способ как исправить что я знаю на данный момент это перезагрузка). Подобное поведение и в терминале: если открыто окно терминала и в нем выполнить скрипт то он выполнится правильно, но если отключить клиента Wifi, а терминал не закрыть то он тоже будет считать что кол-во клиентов не изменилось (здесь лечится открытием нового окна терминала). Такое ощущение что создается своеобразная сессия и все действия происходят в пределах ее и пока ее не сбросишь данные не обновятся. Вопрос это как-то можно обойти?
Сам скрипт:
:global kolvo2 0;
:local $xyz 0;
:do {do {[/interface wireless registration-table get number=$kolvo2 mac-address];
:set $kolvo2 ($kolvo2 +1)} on-error={:set $xyz 1;}} while=($xyz!=1)
:log info "$kolvo2";