Передать переменную в скрипт

Обсуждение ПО и его настройки
Ответить
Senter
Сообщения: 98
Зарегистрирован: 25 ноя 2014, 12:27

Как запустить скрипт и передать ему переменную из коммандной строки?
Что-то вроде:
Скрипт

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

:put $argv[0]


Вызов

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

> /sys scr run test "bla-bla"
bla-bla


Знаю, что можно извратиться с глобальными переменными, но хочется проще.


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

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

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

[admin] > [:parse [/system script get script1 source ]] text=blabla
blabla


совсем противный

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

[admin] > :global tmp [:parse [/system script get script1 source ]]                  
[admin] > $tmp text=blabla
blabla




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

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

[admin] > :global fun do={:put $text} 
[admin] > $fun text=blabla           
blabla


Есть интересная задача и бюджет? http://mikrotik.site
Senter
Сообщения: 98
Зарегистрирован: 25 ноя 2014, 12:27

Как все грустно, у меня так:

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

:global test blah-blah
:execute {:global test; :put $test}
/system script env rem test


Попробую третий вариант, но думал что с argv дела получше обстоят.
Последний раз редактировалось Senter 18 фев 2016, 13:56, всего редактировалось 1 раз.


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

На будущее )))

Если вы будите писать подобные штуки /system script env rem $test вас будут игнорировать


Есть интересная задача и бюджет? http://mikrotik.site
Senter
Сообщения: 98
Зарегистрирован: 25 ноя 2014, 12:27

Ну естественно test, просто набирал руками и ошибся)


vqd
Модератор
Сообщения: 3605
Зарегистрирован: 26 сен 2013, 14:20
Откуда: НСК
Контактная информация:

нет я про сокращения


Есть интересная задача и бюджет? http://mikrotik.site
Ответить