Страница 1 из 1
изменить значение status
Добавлено: 22 фев 2022, 14:16
-13-
Добрый час.
Никак не могу сообразить...
как изменить "status"
:local listVpn
:foreach Vpn in=[interface l2tp-client find] do={
:set listVpn ($listVpn."".[interface l2tp-client get $Vpn comment].": ".([/interface l2tp-client monitor $Vpn once as-value]->"status")."%0A")
:if ([$status] ~"terminating") do={
:set status "disabled"
}
}
Re: изменить значение status
Добавлено: 25 фев 2022, 16:49
-13-
Сам спросил, сам ответил))
Код: Выделить всё
:local commentVpn
:local cuVpnStatus
:local listVpn
:foreach Vpn in=[interface l2tp-client find] do={
:set commentVpn [interface l2tp-client get $Vpn comment]
:set cuVpnStatus ([/interface l2tp-client monitor $Vpn once as-value]->"status")
:if ([$cuVpnStatus] ~"terminating") do={
:set cuVpnStatus "disabled"
}
:set listVpn ($listVpn."".$commentVpn.": ".$cuVpnStatus."%0A")
}
Re: изменить значение status
Добавлено: 23 мар 2022, 11:41
-13-
кто подскажет как в каждый элемент добавить символ?
Код: Выделить всё
l2tp-out1 - disabled
l2tp-out2 - disabled
l2tp-out3 - disabled
l2tp-out4 - disabled
нужно в начале каждого добавить "/"
Код: Выделить всё
/l2tp-out1 - disabled
/l2tp-out2 - disabled
/l2tp-out3 - disabled
/l2tp-out4 - disabled
в изначальном скрипте добавлять не вариант, нужны оба списка
Re: изменить значение status
Добавлено: 23 мар 2022, 18:55
podarok66
Проверяйте
Код: Выделить всё
{
local r "l2tp-out1 - disabled";
:local y "/";
:local w ($y . $r);
:put $w
}
Re: изменить значение status
Добавлено: 24 мар 2022, 17:40
-13-
наверно неправильно вопрос задал
есть у меня скрипт "Script1"
Код: Выделить всё
foreach VPN in=[interface l2tp-client find] do={
set $nameVPN ("".[interface l2tp-client get $VPN name])
set $cuStatusVPN ([interface l2tp-client monitor $VPN once as-value]->"status")
if ([$cuStatusVPN] ~"terminating") do={
set $cuStatusVPN "disabled"
}
set $StatusVPN ($StatusVPN . "$nameVPN - $cuStatusVPN%0A")
}
return $StatusVPN
который используется другими скриптами
Код: Выделить всё
local StatusVPN [[parse [system script get "Script1" source]]]
text=$StatusVPN
на выходе получаем список, список динамический (устройств много)
Код: Выделить всё
l2tp-out1 - disabled
l2tp-out2 - disabled
l2tp-out3 - disabled
l2tp-out4 - disabled
возможно ли что сделать, чтобы на выходе в одном из скриптов получить
Код: Выделить всё
/l2tp-out1 - disabled
/l2tp-out2 - disabled
/l2tp-out3 - disabled
/l2tp-out4 - disabled
Re: изменить значение status
Добавлено: 24 мар 2022, 20:12
podarok66
У вас массив, что ли? Ну тот же принцип. Что-то типа такого прокатит?
Код: Выделить всё
{
:local r {1,2,3,4};
:put $r;
:for i from=0 to=0 step=1 do={set r ("/" . $r)};
:put $r
}
Или так
Код: Выделить всё
{
:local r {"tr-1","tr-2","tr-3","tr-4"};
:put $r;
:set ($r) ("/" . "$r") ;
:put $r
}
Re: изменить значение status
Добавлено: 25 мар 2022, 14:52
-13-
не работает(
Код: Выделить всё
{
local r {[[parse [system/script/get Script1 source]]]};
for i from=0 to=0 step=1 do={set r ("/" . $r)};
put $r
}
добавляет только в первую строчку
Re: изменить значение status
Добавлено: 25 мар 2022, 18:15
podarok66
Я у себя не могу воспроизвести ваш скрипт. У меня просто нет подобных вариантов. Высасывать ситуацию из пальца мне не хочется. Вы поймите, или вы приведёте выхлоп скрипта к тому типу, который я обрабатывал, или хоть как-то работайте сами. Проведите исследование переменной, какой там тип получается. Текст, массив, какие разделители, или у вас там просто простыня, результаты которой сами по себе понятны только глазом... Скрипт должен цепляться за какой-то признак, по которому он распознает элементы, перед которыми надо добавить символ. Если нет никаких разделителей, я считаю эту возню непродуктивной. Проще исправить выхлоп на нормально обрабатываемый, чем мучится с этим.
Re: изменить значение status
Добавлено: 26 мар 2022, 16:46
-13-
создам отдельную тему с ботом для телеграм, там выложу все карты
Re: изменить значение status
Добавлено: 26 мар 2022, 18:41
-13-
Открыл все карты в отдельной теме
viewtopic.php?f=14&t=13619