<?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 09:31:41 -0400</pubDate>
		<item>
			<title>Двоеточие или не двоеточие?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409427">Двоеточие или не двоеточие?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я человек, который соблюдает правила. В документации [limited] пишут так: — Но в RouterOS есть команда «/console/inspect request=syntax», чтобы проверить такие вещи. Она воспринимает и /, и : как одно и то же: ## используем слэш /<br /><br />[amm0@MT] &gt; /console/inspect request=syntax input="/put "<br /><br />Колонки: TYPE, SYMBOL, SYMBOL-TYPE, NESTED, NONORM, TEXT &nbsp;<br />TYPE &nbsp; &nbsp;SYMBOL &nbsp; &nbsp; SYMBOL-TYPE &nbsp;N &nbsp;NON &nbsp;TEXT &nbsp;<br />syntax &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; collection &nbsp; 0 &nbsp;yes &nbsp;<br />syntax &nbsp;&lt;message&gt; &nbsp;explanation &nbsp;1 &nbsp;no &nbsp; строка или любое выражение<br /><br /># использование двоеточия :<br /><br />[amm0@MT] &gt; /console/inspect request=syntax input=":put " path=ip,address<br /><br />Колонки: TYPE, SYMBOL, SYMBOL-TYPE, NESTED, NONORM, TEXT &nbsp;<br />TYPE &nbsp; &nbsp;SYMBOL &nbsp; &nbsp; SYMBOL-TYPE &nbsp;N &nbsp;NON &nbsp;TEXT &nbsp;<br />syntax &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; collection &nbsp; 0 &nbsp;yes &nbsp;<br />syntax &nbsp;&lt;message&gt; &nbsp;explanation &nbsp;1 &nbsp;no &nbsp; строка или любое выражение<br /><br /># использование слэша / с «путём» (/ip/address == ip,address … в /console/inspect)<br /><br />[amm0@MT] &gt; /console/inspect request=syntax input="/put " path=ip,address  <br />Колонки: TYPE, SYMBOL, SYMBOL-TYPE, NESTED, NONORM, TEXT &nbsp;<br />TYPE &nbsp; &nbsp;SYMBOL &nbsp; &nbsp; SYMBOL-TYPE &nbsp;N &nbsp;NON &nbsp;TEXT &nbsp;<br />syntax &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; collection &nbsp; 0 &nbsp;yes &nbsp;<br />syntax &nbsp;&lt;message&gt; &nbsp;explanation &nbsp;1 &nbsp;no &nbsp; строка или любое выражение<br /><br /># НО без / или : — просто «put» без указания пути не работает &nbsp;<br />/console/inspect request=syntax input="put " path=ip &nbsp;<br />Колонки: TYPE, SYMBOL, SYMBOL-TYPE, NESTED, NONORM &nbsp;<br />TYPE &nbsp; &nbsp;SYMBOL &nbsp; &nbsp; &nbsp; &nbsp;SYMBOL-TYPE &nbsp;NESTED &nbsp;NONORM &nbsp;<br />syntax &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;collection &nbsp; &nbsp; &nbsp; &nbsp;0 &nbsp;yes &nbsp;<br />syntax &nbsp;.. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;explanation &nbsp; &nbsp; &nbsp; 1 &nbsp;no &nbsp;<br />syntax &nbsp;address &nbsp; &nbsp; &nbsp; explanation &nbsp; &nbsp; &nbsp; 1 &nbsp;no &nbsp;<br />syntax &nbsp;arp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; explanation &nbsp; &nbsp; &nbsp; 1 &nbsp;no &nbsp;<br />syntax &nbsp;cloud &nbsp; &nbsp; &nbsp; &nbsp; explanation &nbsp; &nbsp; &nbsp; 1 &nbsp;no &nbsp;<br />syntax &nbsp;dhcp-client &nbsp; explanation &nbsp; &nbsp; &nbsp; 1 &nbsp;no &nbsp;<br />[...] <br />
			<i>18.07.2023 20:28:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409427</link>
			<guid>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409427</guid>
			<pubDate>Tue, 18 Jul 2023 20:28:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Двоеточие или не двоеточие?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409426">Двоеточие или не двоеточие?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Понятно! Единственное, что меня смущает, — это непонятный синтаксис. «/» или «:». <br />
			<i>18.07.2023 19:44:00, berisz.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409426</link>
			<guid>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409426</guid>
			<pubDate>Tue, 18 Jul 2023 19:44:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Двоеточие или не двоеточие?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409425">Двоеточие или не двоеточие?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ты читишь! / должно работать одинаково — проблема именно в простом «set», который вызывает сложности выше. Если ты всё ещё используешь «лишний символ» для устранения неоднозначности, то выбор между / и : — это, скорее, дело личных предпочтений. Двоеточие : выделяет операции по сравнению с командами — но это только мое мнение. <br />
			<i>18.07.2023 18:30:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409425</link>
			<guid>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409425</guid>
			<pubDate>Tue, 18 Jul 2023 18:30:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Двоеточие или не двоеточие?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409424">Двоеточие или не двоеточие?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ни одного двоеточия! &nbsp;<br />/interface list member&gt; &nbsp;<br />/local x 5 ; &nbsp;<br />/put $x ; &nbsp;<br />/set x 7 ; &nbsp;<br />/put $x ; &nbsp;<br />5 &nbsp;<br />7 <br />
			<i>18.07.2023 17:58:00, berisz.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409424</link>
			<guid>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409424</guid>
			<pubDate>Tue, 18 Jul 2023 17:58:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Двоеточие или не двоеточие?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409423">Двоеточие или не двоеточие?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Если всё однозначно, то технически двоеточие не нужно. Проблема в том, что это не всегда легко понять. Особенно с командами типа :set для присвоения переменной... если на «верхнем уровне», то работают и set, и :set... но в «командном пути» set может означать установку параметра — тогда нужно использовать двоеточие в :set, чтобы задать именно переменную. Аналогично с :find и find. При этом я сторонник всегда использовать двоеточие для всех команд верхнего уровня — так читать гораздо понятнее, и это может помочь избежать проблем в будущем, ведь в примерах Mikrotik почти везде используют двоеточие. <br />
			<i>18.07.2023 14:02:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409423</link>
			<guid>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409423</guid>
			<pubDate>Tue, 18 Jul 2023 14:02:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Двоеточие или не двоеточие?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409422">Двоеточие или не двоеточие?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Нет, он не закрыт! /interface&gt; /do {put "hello"} ; &nbsp;<br />hello <br />
			<i>18.07.2023 11:53:00, berisz.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409422</link>
			<guid>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409422</guid>
			<pubDate>Tue, 18 Jul 2023 11:53:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Двоеточие или не двоеточие?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409421">Двоеточие или не двоеточие?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я тоже замечал такое поведение. Если вы выполняете много команд в подпапке, можно пропустить указание пути, если сначала задать сам путь. То есть в глобальных командах используйте двоеточие, чтобы разделить, что к чему относится. Вопрос решён. <br />
			<i>27.05.2020 16:46:00, Jotne.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409421</link>
			<guid>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409421</guid>
			<pubDate>Wed, 27 May 2020 16:46:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Двоеточие или не двоеточие?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409420">Двоеточие или не двоеточие?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я заметил интересное поведение, которое может объяснить использование знака «:». &nbsp;<br />{ &nbsp;<br />:delay 4s &nbsp;<br />/interface &nbsp;<br />:if (([pppoe-client monitor pppoe-ikev2 as-value once]-&gt;"mtu") &lt; 1500) do={  <br />disable sfp-sfpplus1 &nbsp;<br />:delay 50ms &nbsp;<br />enable sfp-sfpplus1 &nbsp;<br />:log warning "PPPoE MTU меньше 1500, поэтому SFP-порт перезапускается"} &nbsp;<br />} &nbsp;<br /><br />На третьей строке я использую /interface, чтобы переключиться на другой «путь», и тогда мне не нужно ставить «:» перед командами в этом «пути». Как только вызываю глобальную команду, приходится использовать «:». Нужно ещё проверить предыдущие скрипты, чтобы понять, изменилось ли что-то в 6.47RC2. &nbsp;<br /><br />Потом я попробовал команду вне OT: &nbsp;<br />/interface&gt; do {put "hello"} &nbsp;<br />bad command name put (line 1 column 5 &gt;do {put "hello"} &nbsp;<br />hello &nbsp;<br /><br />Дело закрыто? Всё работает так, как описано в Wiki. <br />
			<i>27.05.2020 13:43:00, msatter.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409420</link>
			<guid>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409420</guid>
			<pubDate>Wed, 27 May 2020 13:43:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Двоеточие или не двоеточие?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409419">Двоеточие или не двоеточие?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Проблема не в синтаксисе, а в том, как сделать код максимально понятным, даже для других. Например, код из одного из предыдущих постов: { :delay 4s /interface :if (([pppoe-client monitor pppoe-ikev2 as-value once]-&gt;“mtu”) &lt; 1500) do={ disable sfp-sfpplus1 :delay 50ms enable sfp-sfpplus1 :log warning “PPPoE MTU lower than 1500, so the SFP port is restarted”} } (исправлено также “mtu”, скорее всего, на самом деле несколько лет назад имелось в виду “actual-mtu”) — не важно, для чего это, я бы написал так: { :delay 4s :local pname “pppoe-ikev2” :local iname “sfp-sfpplus1” /interface :local chkmtu ([pppoe-client monitor $pname once as-value]-&gt;“actual-mtu”) :if ($chkmtu &lt; 1500) do={ disable $iname ; :delay 50ms ; enable $iname :log warning “$pname Actual MTU $chkmtu &lt; 1500, so $iname is reloaded” } } И “команда” delay (:delay) лучше, чем “подраздел” задержки (/delay) — хотя они делают одно и то же, с двоеточием всё намного яснее. Ещё одна глупость — ставить ; в конце без причины, или использовать do { } вообще бессмысленно, или усложнять то, что можно сделать проще, например: :put ("the value of " . $varname . " is " . $varvalue . “.”) вместо того, чтобы писать напрямую: :put “the value of $varname is $varvalue.” (обратите внимание: круглые скобки нужны только если строка содержит специальные символы, типа \ $ _ \66 \r \n и т.п.) <br />
			<i>18.07.2023 23:18:00, rextended.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409419</link>
			<guid>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409419</guid>
			<pubDate>Tue, 18 Jul 2023 23:18:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>Двоеточие или не двоеточие?</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409418">Двоеточие или не двоеточие?</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Я пишу скрипты для Mikrotik Router OS. Есть ли какая-то причина ставить двоеточие : перед командами? Например, так работает: do {:put "hello"} А так тоже: do {put "hello"} Есть ли смысл использовать один вариант вместо другого? <br />
			<i>13.05.2020 07:24:00, Jotne.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409418</link>
			<guid>http://mikrotik.moscow/forum/forum57/86695-dvoetochie-ili-ne-dvoetochie/message409418</guid>
			<pubDate>Wed, 13 May 2020 07:24:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
