Страница 4 из 5
Re: add src/dst to adress list
Добавлено: 28 авг 2014, 08:12
-user-
ок, пошел читать
podarok66 писал(а):А то Ваши выкладки очень сложно просто разобрать, так Вы там изворачиваетесь.
да вроде норм, в "Notrpad++" мышкой ткну в скобку ]}) , а её ответная скобка подсвечивается красным
podarok66 писал(а):Вполне возможно, что придется $VarIP изменять с помощью set...
поищу про этот
SET, видел уже его, только пока не вкурил когда его применять, наверное при переопределении данных в переменной чтоли... пошел читать мануалы ((
upd: вон даже в мануале в первых строчках пишут что так и нужно
- [param=[value]] .. [param=[value]]
Re: add src/dst to adress list
Добавлено: 28 авг 2014, 08:52
podarok66
-user- писал(а):upd: вон даже в мануале в первых строчках пишут что так и нужно

- [param=[value]] .. [param=[value]]
Wiki писал(а):Global commands
Every global command should start with ":" token, otherwise it will be treated as variable.
Re: add src/dst to adress list
Добавлено: 28 авг 2014, 09:45
-user-
podarok66 писал(а):Every global command should start with ":" token, otherwise it will be treated as variable.

пока в процессе чтива манов, но вот нашел строчку (как раз речь про начало
: и конец
; )
Each command line inside another command line starts and ends with square brackets "[ ]".
Код: Выделить всё
:put [/ip route get [find gateway=1.1.1.1]];
Re: add src/dst to adress list
Добавлено: 28 авг 2014, 10:01
podarok66
Ну да, всё верно, если Вы собрались в процесс работы одной команды использовать результаты выполнения другой команды, то вторую команду можно внести в нужное место основной команды, взяв в квадратные скобки. Или использовать переменную, если результат нужен несколько раз...
Re: add src/dst to adress list
Добавлено: 28 авг 2014, 21:51
-user-
вместо изучения "queues" потрачено время на скрипты
в итоге родился такой скрипт... у меня на
v6.19 работает так, как это было в моей изначальной хотелке...
Возможно много косяков, жду критики от спецов, дабы улучшить/ускорить "процесс".
Код: Выделить всё
{:global FuncRUN do={:foreach i in [/ip fi ad find list=$VarLIST dynamic] do={[local VarIP] [ set VarIP [/ip fi ad get $i address]] [/ip fi ad remove [find address=[get $i address]]] [/ip fi ad add address=$VarIP list=$VarLIST]}}
# MyList - target Address List
$FuncRUN VarLIST=MyList}
Manual:Scripting на вики микротика и правда не плох
Всем спасибо за помощь.

С уважением.
Re: add src/dst to adress list
Добавлено: 28 авг 2014, 22:19
vqd
Никогда так не пишите скрипты
[/ip fi ad add address=$VarIP list=$VarLIST]}}
Re: add src/dst to adress list
Добавлено: 28 авг 2014, 22:21
-user-
vqd писал(а):Никогда так не пишите скрипты
[/ip fi ad add address=$VarIP list=$VarLIST]}}
опишите пожалуйста, что нужно исправить? в чем ошибка... ведь если бы знал что не так, сразу написал бы правильно
на что заменить?

upd: или Вы про сокращение команд? если про это, то в официальном ВИКИ про это есть.
Re: add src/dst to adress list
Добавлено: 28 авг 2014, 22:25
vqd
Ошибка в отношении
Откройте мои скрипты и посмотрите, а теперь представите что я вам написал что то типа
Это тоже рабочее но я думаю что на первых парах вы бы подумали что я вас послал
Да и ваши приемники вам спасибо не скажут
Re: add src/dst to adress list
Добавлено: 28 авг 2014, 22:28
vqd
Я вот начал ваш скрипт смотреть. но как то перестал ибо фу . TAB жмите если писать лень
Re: add src/dst to adress list
Добавлено: 28 авг 2014, 22:33
-user-
vqd писал(а):Ошибка в отношении
ок понял
думал раз с официального мануала взято, то так и нужно, ок, исправлюсь, отношусь ко всем хорошо
Код: Выделить всё
{:global FuncRUN do={:foreach i in [/ip firewall address-list find list=$VarLIST dynamic] do={[local VarIP] [ set VarIP [/ip firewall address-list get $i address]] [/ip firewall address-list remove [find address=[get $i address]]] [/ip firewall address-list add address=$VarIP list=$VarLIST]}}
# MyList - target Address List
$FuncRUN VarLIST=MyList}