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

Здесь выкладываем скрипты
23q
Сообщения: 57
Зарегистрирован: 16 май 2013, 11:21

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

Сообщение 23q » 23 авг 2016, 16:56

есть
:global 1 bogdan
как создать переменную 2 с названием значения $1, что б получилось, например
:global bogdan
23q
Сообщения: 57
Зарегистрирован: 16 май 2013, 11:21

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

Сообщение 23q » 23 авг 2016, 21:22

сам спросил-сам ответил. :ne_vi_del:

Код: Выделить всё

:execute ":global $1";
KARaS'b
Сообщения: 584
Зарегистрирован: 29 сен 2011, 09:16

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

Сообщение KARaS'b » 23 авг 2016, 22:34

Тут вроде флуд тема, я тож пожалуй спрошу)
А как выразить знак неравенства? вот допустим есть строчка "if ($beelinegw = $beelinegwstat)", а если я хочу задать, НЕ равно, как это указать?
23q
Сообщения: 57
Зарегистрирован: 16 май 2013, 11:21

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

Сообщение 23q » 24 авг 2016, 10:07

KARaS'b писал(а):Тут вроде флуд тема, я тож пожалуй спрошу)
А как выразить знак неравенства? вот допустим есть строчка "if ($beelinegw = $beelinegwstat)", а если я хочу задать, НЕ равно, как это указать?

"if ($beelinegw != $beelinegwstat)
KARaS'b
Сообщения: 584
Зарегистрирован: 29 сен 2011, 09:16

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

Сообщение KARaS'b » 24 авг 2016, 11:01

23q писал(а):
KARaS'b писал(а):Тут вроде флуд тема, я тож пожалуй спрошу)
А как выразить знак неравенства? вот допустим есть строчка "if ($beelinegw = $beelinegwstat)", а если я хочу задать, НЕ равно, как это указать?

"if ($beelinegw != $beelinegwstat)

Огромное спасибо!)
podarok66
Модератор
Сообщения: 3533
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

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

Сообщение podarok66 » 24 авг 2016, 15:39

23q писал(а):сам спросил-сам ответил. :ne_vi_del:

Код: Выделить всё

:execute ":global $1";

Вау, интересный ход. Не против, если я в ЖЖ в записной книжке оставлю? ( Имя автора упоминаю всегда)
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
23q
Сообщения: 57
Зарегистрирован: 16 май 2013, 11:21

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

Сообщение 23q » 24 авг 2016, 22:48

podarok66 писал(а):
23q писал(а):сам спросил-сам ответил. :ne_vi_del:

Код: Выделить всё

:execute ":global $1";

Вау, интересный ход. Не против, если я в ЖЖ в записной книжке оставлю? ( Имя автора упоминаю всегда)

оставляйте, а если написать

Код: Выделить всё

:global 1 bogdan
:execute ":global $1 123";

то будет

Код: Выделить всё

put $bogdan
123


вопрос как потом оперировать этой переменной в скрипте. допустим есть большой скрипт. вначале в переменную клиент пишет имя точки, например

Код: Выделить всё

:local wifi1 balkon

имя это используется для отправки уведомлений на почту статуса этой точки (on или off), потом я должен создать еще одну переменную, но уже глобальную и присвоить ей значение в имя и статус.

Код: Выделить всё

:execute ":global $wifi1 on";

получится тоже самое что и команда

Код: Выделить всё

:global balkon on

но только клиенту не нужно вводить имя balkon 2 раза в скрипте.

Но потом мне нужно сравнить if {$balkon = "on"} do= else={}, но я так написать не могу, так как я не знаю что за имя введет клиент на этапе

Код: Выделить всё

:local wifi1 balkon

значит вместо $balkon мне нужно ввести что-то другое, но что б оно вернуло значение переменной balkon.
може я запутано говорю)))
podarok66
Модератор
Сообщения: 3533
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

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

Сообщение podarok66 » 25 авг 2016, 21:12

Вот кстати уже был ответ на стартовый топик ))) И, кстати, немного другой...
Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
vkrum
Сообщения: 112
Зарегистрирован: 10 ноя 2012, 00:23

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

Сообщение vkrum » 27 авг 2016, 01:24

23q не то что вы ищете
http://mikrotik-ukraine.blogspot.ru/201 ... rotik.html
vqd
Модератор
Сообщения: 3852
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

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

Сообщение vqd » 27 авг 2016, 06:21

23q писал(а):сам спросил-сам ответил. :ne_vi_del:

Код: Выделить всё

:execute ":global $1";


execute это больше для отладки

Для подобных вещей существует :parse

Код: Выделить всё

[admin@Meg_Router] >  :global tmp test         
[admin@Meg_Router] > [:parse ":global $tmp 456"]
[admin@Meg_Router] > environment print         
test=456
tmp="test"
Есть интересная задача и бюджет? http://mikrotik.site

Вернуться в «Готовые скрипты Mikrotik»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость