Страница 4 из 4

Re: Значение переменной вывести в название другой переменной.

Добавлено: 15 фев 2024, 20:27
Brook
Можно обойтись без перебора. Имя глобальной переменной, которое мы передаем в блок execute: у нас хранится в локальной переменной. Просто находим по имени и пользуемся.

Только сама идея, использовать execute: для записи значения в глобальную переменную и тут же из скрипта читать из нее, не очень хороша.

Execute выполняется асинхронно в отдельном процессе. После его запуска основной код продолжит выполняться и когда он дойдет до того места, где из глобальной переменной надо читать, там может ничего не быть, потому что процесс execute: еще не завершился или даже не запускался. Помним, проходили...

Тут наверное лучше parse: Оттуда и результат вернуть можно и основной код будет ждать выполнения этого блока.

Re: Значение переменной вывести в название другой переменной.

Добавлено: 20 фев 2024, 20:37
Sertik
Дорогой, Brook !
Рад Вашему появлению на форуме ! Видимо появилось чуть-чуть времени ...

Поясните Вашу мысль рабочим примером. Вы же можете, я это точно знаю. :a_g_a:

Re: Значение переменной вывести в название другой переменной.

Добавлено: 30 мар 2024, 07:24
load
скрипт сбрасывает конкшены при появлении интернет нужно если у вас телефония


:global internetStatus;
:global previousInternetStatus
:global internetCheckAddress;

:set value="8.8.8.8" name=$internetCheckAddress;
:set $ui "offline"
:if ([/ping $internetCheckAddress count=1] = 0) do={
:set $internetStatus "offline"
:set $ui "offline"
} else={
:set $internetStatus "online";
:set $uiu "online"
}
if ( $uiu != $previousInternetStatus ) do={
:log info "Clearing connections ";
/ip firewall connection remove [find];
}
:set previousInternetStatus $internetStatus;