A Guide to írása szkriptek a MikroTik RouterOS

1. GUIDE programozási nyelv

Ez az útmutató bemutatja a nagy teljesítményű beépített script nyelv RouterOS.

RouterOS programozási nyelv lehetővé teszi, hogy a feladatok automatizálására révén a végrehajtás egyes polzovatelem szkriptek kapcsolatos minden eseményről.

Scripts lehet az adattárban tárolt (lerakat), vagy lehet írni közvetlenül a konzolon. Kiváltó események végrehajtása szkriptek a rendszer által generált ütemező segédprogram monitor forgalom és a közüzemi NetWatch, de nem korlátozódnak ezekre generátorok.

1.1 SZERKEZET a csapat

RouterOS scriptek állnak parancsokat. Az utasítás végrehajtása egymás után, amíg a végén a forgatókönyvet, vagy közben hiba történik a teljesítmény érhető el.

A konzol az alábbi szintaxisparancs:

[Prefix] [útvonal] parancs [uparam] [PARAM = [érték]. param = [érték]]

[Prefix] - az alábbiak lehetnek karakter értékeket „” vagy „/”, amely azonosítja a parancsot az ICE vagy elérési utat.
[Path] - relatív elérési utat a kívánt szintre.
parancs - az egyik lehetséges beépített parancsok menü bizonyos szintet.
[Uparam] - gyűrű beállításával macska. Meg kell határozni, hogy szükséges a beépített parancsok (parancs).
[Params] - a szekvenciáját a megnevezett paraméterek értékekkel.

* Minden, ami szerepel a zárójelben szereplő kötelező alkotóeleme a csapat.

Minden parancs végződik „;” vagy a végén a húr. Egyes esetekben ezek a jelek nem szükségesek a csapat teljes. Command belsejében () [], vagy <> Nem kell ilyen szimbólumokat.

Minden csapat a másik csapat kezdődik és végződik szögletes zárójelek [] (kombinálásával csapatok):

put [/ ip route kap [találják gateway = 1.1.1.1]];

A parancs állhat több sor, egyesült egy speciális szimbólum. Lásd: „kombinálása csapat.”

* Team és EOL (End of Line) *

Command - karakterek sorozata véget EOL sorrendben. Bármely standard EOL-szekvenciák is alkalmazhatók:

- Unix = ASCII LF
- A Windows = ASCII CR LF
- Mac = ASCII CR

if ($ a = true \
és $ b = false) do =<:put “$a $b”;>
: If ($ a = true \ # sikertelen kísérlet
és $ b = false) do =<:put “$a $b”;>
# Megjegyzés \
folytatta - érvénytelen (szintaktikai hiba)

* Közötti rések tokenek *

Üresek használnak külön zsetont. Tér van szükség a két jelzőt csak akkor, ha azok szövetség úgy is lehet értelmezni, mint egy másik jelzőt. például:

<
: Helyi igaz; Helyi b false;
# Spaces nincs szükség
: Put (ab);
# Spaces szükséges
: Tedd (a és b);
>

Nem lehet szóköz az alábbi kivitelekben:

- =
- from =, = az, step =, a =, do =, különben =

# Rossz:
: A I = 1 = 2 Do = <:put $i>
# Jobbra:
: A I = 1 = 2 Do =<:put $i>
: A I = 1 = 2 Do =<:put $i>

rossz #
/ Az ip route add gateway = 3.3.3.3
# jobb
/ Az ip route add gateway = 3.3.3.3

Globális hatókörű, különben a gyökér területen, a láthatóság területe az alapértelmezett script. Ez automatikusan létrejön, és mindig ott van.

A felhasználó meghatározhatja annak hatálya rögzítjük <>. Az ilyen területeket nevezzük lokális. például:

: Helyi 3;
Helyi b 4;
: Tedd ($ a + $ b);
>
# Command alatti, téves, mivel a B változó nincs definiálva a jelenlegi hatályát
: Tedd ($ a + $ b);
>

Fontos megjegyzés: minden csapat a konzol feldolgozott helyi körét.

[Admin @ MikroTik]>: helyi myVar a;
[Admin @ MikroTik]>: fel $ myVar
szintaktikai hiba (line 1, 7. oszlop)

Fontos: nem határozzák meg a globális változók a helyi körét.

1.2 fenntartott szavak

A következő szavak vannak fenntartva, és nem lehet használni, mint a változók neveit vagy funkciók: