Почему глобальная переменная обNULLяется?? Mikrotik hAP lite прошивка 6.43.7 (но и на 6.40 что была по умолчанию вроде тоже самое)
если устанавливать переменную в терминале например:global var1
:set var1 "X"
то тут все нормально, она есть в переменных окружения.
из другого терминала тоже все доступно.
и если запускать скрипт из терминала, то он ее видит.Но вот если же скрипт запускать по кнопке Run Script из Script List или по шедулеру, то данная переменная всегда пустая, даже если она устанавливается в скрипте !?
если в скрипте сделать следующий вывод:global var1
:log info [:typeof $var1]
то, не смотря на то что переменная была объявлена в терминале, и даже переопределяется в скрипте, каждый раз при запуске на это строке он выводит nothing !?
эм...
это каг???
как тогда пользоваться глобальными переменными?
мне нужно чтобы скрипт запускаемый по шедулеру видел глобальную переменную, как ее передавать?

21 Авг 2019 в 06:38
194 +1
0
Ответы
1

Вероятно, проблема связана с тем, что при запуске скрипта через кнопку Run Script из Script List или по шедулеру, переменные окружения не передаются таким же образом, как при запуске скрипта из терминала. Для того чтобы передать глобальную переменную в скрипт, можно использовать аргументы командной строки.

Например, можно передать значение переменной var1 скрипту через аргументы командной строки таким образом:

/system script add name=my_script source={
:local var1 $1
:log info $var1
}

При запуске скрипта, необходимо указать значение переменной var1 в качестве аргумента:

/system script run my_script "X"

Таким образом, скрипт будет видеть значение переменной var1 при запуске через шедулер или кнопку Run Script из Script List.

20 Апр в 13:15
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир