<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: Параметры для написания скриптов]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме Параметры для написания скриптов форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sat, 01 Aug 2026 03:50:40 -0400</pubDate>
		<item>
			<title>Параметры для написания скриптов</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302484">Параметры для написания скриптов</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Когда используется команда /import внутри функции или скрипта, параметры, доступные в функции, становятся доступны в файле скрипта. Просто не объявляйте их как :local или :global. Например: [a@mk] &gt; :global myfunc do={ /import myfunc.rsc } myfunc.rsc: :put "passed parameters: $1 $2 $3" Попробуйте: [a@mk] &gt; $myfunc A B C<br />passed parameters: A B C<br /><br />Файл скрипта загружен и выполнен успешно<br />[a@mk] &gt; Определите функцию $import и используйте её вместо /import, и проблема передачи параметров в файл скрипта решена. Поддерживаются именованные параметры. :global import do={ :global result; :set result; /import "$1.rsc"; :local r $result; :set result; :return $r} Глобальная переменная $result используется для сохранения возвращаемого значения файла скрипта до тех пор, пока оно не будет возвращено функцией $import. Её нужно очищать до и после вызова скрипта, чтобы избежать «необъяснимых» ошибок. Единственное раздражающее – это сообщения «Файл скрипта загружен и выполнен успешно». Они появляются, и ты не знаешь, какой файл был загружен. <br />
			<i>10.10.2023 12:47:00, A9691.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302484</link>
			<guid>http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302484</guid>
			<pubDate>Tue, 10 Oct 2023 12:47:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Параметры для написания скриптов</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302483">Параметры для написания скриптов</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			По-моему, это что-то новое, я не могу понять, как передавать переменную через глобальную функцию.to /import feature. Это как рекурсия. Работает в 6.45.3. <br />
			<i>13.09.2019 09:40:00, SiB.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302483</link>
			<guid>http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302483</guid>
			<pubDate>Fri, 13 Sep 2019 09:40:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Параметры для написания скриптов</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302482">Параметры для написания скриптов</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ты можешь передавать параметры в файлы скриптов, которые запускаются с помощью /import. Например: Содержимое fact.rsc: :if ($1 &gt; 1) do={<br />	:global fact<br />	:set $result ([$fact ( $1 - 1 )]*($1))<br />} else={<br />	:set $result 1<br />} Определяем функцию fact: :global fact do={/import "fact.rsc"; return $result} Тестирование: [admin@bkeniko] &gt; :put [$fact 3]<br /><br />Файл скрипта загружен и выполнен успешно<br /><br />Файл скрипта загружен и выполнен успешно<br /><br />Файл скрипта загружен и выполнен успешно<br />6<br />[admin@bkeniko] &gt; Есть ли какая-нибудь документация по этому? (проверено на v6.40.8) <br />
			<i>12.09.2019 13:24:00, A9691.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302482</link>
			<guid>http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302482</guid>
			<pubDate>Thu, 12 Sep 2019 13:24:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Параметры для написания скриптов</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302481">Параметры для написания скриптов</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Должно работать, если объявлять глобальные переменные в подскрипте вот так: :global myVar1, :global myVar2. Кстати, не нужно использовать ; в конце строки, только для разделения нескольких команд в одной строке. Так скрипт можно было бы написать: { :global myVar1 999, :global myVar2 9999, /system script run myScript }. <br />
			<i>13.02.2019 14:25:00, Jotne.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302481</link>
			<guid>http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302481</guid>
			<pubDate>Wed, 13 Feb 2019 14:25:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Параметры для написания скриптов</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302480">Параметры для написания скриптов</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Прошу прощения за воскрешение темы, но как передать несколько параметров в скрипт? Сработает вот это?: { :global myVar1 999; :global myVar2 9999; /system script run myScript; } Учитывая, что у MyScript есть глобальные переменные MyVar1 и MyVar2? <br />
			<i>12.02.2019 22:13:00, Etz.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302480</link>
			<guid>http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302480</guid>
			<pubDate>Tue, 12 Feb 2019 22:13:00 -0500</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Параметры для написания скриптов</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302479">Параметры для написания скриптов</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Привет! Хотел узнать, есть ли способ передавать параметры в MT-скрипт. Например, я хочу изменить лимиты запросов для определенных групп пользователей. Могу ли я написать один скрипт и получать лимиты из параметров, переданных в скрипт, или же мне придется писать отдельный скрипт для каждого лимита и группы? <br />
			<i>05.04.2008 11:22:00, baumie.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302479</link>
			<guid>http://mikrotik.moscow/forum/forum57/74562-parametry-dlya-napisaniya-skriptov/message302479</guid>
			<pubDate>Sat, 05 Apr 2008 11:22:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
