Size: a a a

2020 December 14

AP

Andrew Plekhanoff in MikrotikRus
Юрий Обрывин
Порт для телефона надо бриджевать.
Ну если он в том же вилане
источник

ЮО

Юрий Обрывин... in MikrotikRus
Andrew Plekhanoff
Странный у тебя РТК, Юрик что-ли?)
Воткнись напрямую вайршарком да виланы глянь на шнурке.
У вас роутер от РТК, тот который zte118 вланы умеет?
источник

AP

Andrew Plekhanoff in MikrotikRus
Юрий Обрывин
У вас роутер от РТК, тот который zte118 вланы умеет?
У меня елтекс...
источник

ЮО

Юрий Обрывин... in MikrotikRus
Andrew Plekhanoff
У меня елтекс...
Он умеет?
источник

AP

Andrew Plekhanoff in MikrotikRus
Юрий Обрывин
Он умеет?
Умеет, только крутят его ТПшники по TR-069
источник

ЮО

Юрий Обрывин... in MikrotikRus
Видать в разных регионах по разному тогда.
источник

M

Maksim Sharov in MikrotikRus
есть способ получить значение отдельного столбца из вывода?

например, получить значение адреса из вывода 192.168.88.80

/ip dhcp-server lease print where host-name="gate" 
Flags: X - disabled, R - radius, D - dynamic, B - blocked
#   ADDRESS                                                MAC-ADDRESS       HOST-NAME             SERVER             RATE-LIMIT             STATUS
0 D ;;; test
    192.168.88.80                                          0A:D4:E6:38:FB:02 gate                  defconf                                   bound

может какие-то операции конвеера?
источник

F

Fly in MikrotikRus
Maksim Sharov
есть способ получить значение отдельного столбца из вывода?

например, получить значение адреса из вывода 192.168.88.80

/ip dhcp-server lease print where host-name="gate" 
Flags: X - disabled, R - radius, D - dynamic, B - blocked
#   ADDRESS                                                MAC-ADDRESS       HOST-NAME             SERVER             RATE-LIMIT             STATUS
0 D ;;; test
    192.168.88.80                                          0A:D4:E6:38:FB:02 gate                  defconf                                   bound

может какие-то операции конвеера?
Можно получить конкретное поле конкретной записи
источник

F

Fly in MikrotikRus
Maksim Sharov
есть способ получить значение отдельного столбца из вывода?

например, получить значение адреса из вывода 192.168.88.80

/ip dhcp-server lease print where host-name="gate" 
Flags: X - disabled, R - radius, D - dynamic, B - blocked
#   ADDRESS                                                MAC-ADDRESS       HOST-NAME             SERVER             RATE-LIMIT             STATUS
0 D ;;; test
    192.168.88.80                                          0A:D4:E6:38:FB:02 gate                  defconf                                   bound

может какие-то операции конвеера?
например вывести мак:
:put [/ip dhcp-server lease get [find address=192.168.88.80] mac-address]
источник

M

Maksim Sharov in MikrotikRus
Fly
например вывести мак:
:put [/ip dhcp-server lease get [find address=192.168.88.80] mac-address]
спасибо, адаптировал под себя, заработало.

где почитать подробнее о скриптинге? здесь https://wiki.mikrotik.com/wiki/Manual:Scripting#Keywords?
: put это аналог eval в языках программирования? пытался сначала интутивно через get, но не работало
источник

F

Fly in MikrotikRus
команда
:put

выводит в терминал
источник

F

Fly in MikrotikRus
аналог echo
источник

F

Fly in MikrotikRus
команда
get

- не глобальная, она применима к конкретным местам. например к:
/ip dhcp-server lease
источник

F

Fly in MikrotikRus
извлекает конкретное поле у указаной записи.
в частности выше - извлекает поле mac-address из записи найденой в find
источник

M

Maksim Sharov in MikrotikRus
Fly
извлекает конкретное поле у указаной записи.
в частности выше - извлекает поле mac-address из записи найденой в find
спасибо за пояснения
источник

F

Fly in MikrotikRus
Maksim Sharov
спасибо за пояснения
конвеерность реализуется скобками [ ]
сначала выполняется то что внутри скобок, и результат выполнения подставляется вместо них
источник

M

Maksim Sharov in MikrotikRus
Fly
конвеерность реализуется скобками [ ]
сначала выполняется то что внутри скобок, и результат выполнения подставляется вместо них
можно по шагам расписать логику выполнения?

:put [/ip dhcp-server lease get [find address=192.168.88.80] mac-address]
источник

F

Fly in MikrotikRus
команда
find
двоякая.

есть глобальный вариант:
:find переменная поиск

ищет вхождение "поиск" в "переменной".

а есть вариант по разным путям. применяется для поиска записей в указаных местах по указаным параметрам.
источник

F

Fly in MikrotikRus
Maksim Sharov
можно по шагам расписать логику выполнения?

:put [/ip dhcp-server lease get [find address=192.168.88.80] mac-address]
сначала выполняется команда find выполняющая поиск записи. место поиска "подразумевается" от вышестояшей команды за скобками. но можно указать и полностью, например так:
:put [/ip dhcp-server lease get [/ip dhcp-server lease find address=192.168.88.80] mac-address]
источник

F

Fly in MikrotikRus
найденый идентификатор подставляется вместо скобок. например получен идентификатор записи 0, остается такая команда:
:put [/ip dhcp-server lease get 0 mac-address]
источник