Zum Hauptinhalt springen

String-Vergleich in MikroTik: So schreiben und verwenden Sie ein Skript

Bei der Arbeit mit MikroTik-Netzwerkgeräten ist es oft notwendig, Zeilen zu vergleichen oder Aktionen basierend auf dem Inhalt der Zeilen durchzuführen. Der String-Vergleich ist ein wichtiger Teil der Programmierung und Automatisierung von Geräten. In diesem Artikel werden wir uns ansehen, wie Sie ein Skript schreiben und verwenden, um Strings in MikroTik zu vergleichen.

Eine der einfachsten Möglichkeiten, Strings in MikroTik zu vergleichen, ist die Verwendung des Vergleichsoperators "if". Mit diesem Operator können Sie überprüfen, ob zwei Zeilen gleich sind oder nicht. Zum Beispiel können wir überprüfen, ob der Wert einer Variablen mit einem bestimmten Text übereinstimmt. Wenn die Werte gleich sind, können Sie eine bestimmte Aktion ausführen, z. B. die Geräteeinstellungen ändern oder eine Benachrichtigung senden.

Eine andere Möglichkeit, Strings zu vergleichen, besteht darin, die Funktion "find" zu verwenden. Mit der Funktion "find" können Sie eine Teilzeichenfolge in einer Zeichenfolge finden und die Position des ersten Vorkommens oder -1 zurückgeben, wenn es keine solche Teilzeichenfolge gibt. Sie können diese Funktion verwenden, um zu überprüfen, ob eine bestimmte Zeichenfolge eine bestimmte Teilzeichenfolge enthält. Zum Beispiel können wir überprüfen, ob der Gerätename ein bestimmtes Wort oder eine bestimmte Phrase enthält.

Ein Beispiel: Wenn der Gerätename das Wort "switch" enthält, führen Sie bestimmte Aktionen aus.

Ausgehend von dem oben Genannten ist der Zeilenvergleich in MikroTik ein wichtiger Aspekt bei der Lösung von Automatisierungsproblemen von Netzwerkgeräten. Die Fähigkeit, Skripte zu schreiben und zu verwenden, um Zeichenfolgen zu vergleichen, hilft Ihnen, Ihr MikroTik-Netzwerk effektiv zu verwalten und zu konfigurieren.

Das Konzept des Skripts in MikroTik

In MikroTik ist ein Skript eine Reihe von Befehlen, die in einer bestimmten Reihenfolge ausgeführt werden. Die Skripte in MikroTik werden verwendet, um Routineaufgaben zu automatisieren und die Netzwerkverwaltung zu vereinfachen. Sie ermöglichen es Ihnen, automatisch eine Reihe von Befehlen auszuführen, die in bestimmten Situationen ausgeführt werden müssen.

Skripte in MikroTik können in der Befehlsschnittstellensprache (CLI) sowie in der Programmiersprache Lua oder Python mit speziellen Scripting-Engines geschrieben werden.

Die Skripte in MikroTik können für verschiedene Aufgaben wie die Konfiguration und Konfiguration von Geräten, die Überwachung und das Debuggen des Netzwerks, die Automatisierung von Backups und vieles mehr verwendet werden. Skripts können manuell oder nach einem Zeitplan oder bei bestimmten Ereignissen wie dem Anschließen oder Trennen eines Geräts ausgeführt werden.

Mit Hilfe von Skripten in MikroTik können Sie die Netzwerkeffizienz erheblich verbessern, die Zeit für die Ausführung von Aufgaben reduzieren und die Möglichkeit von Fehlern minimieren. Sie erleichtern auch die automatische Konfiguration und Konfiguration einer großen Anzahl von MikroTik-Geräten, was sie zu unverzichtbaren Werkzeugen für Netzwerkadministratoren macht.

Wie schreibe ich ein String-Vergleichs-Skript in MikroTik

Mit dem Vergleichsoperator (=) können Sie zwei Zeichenfolgen zeichenweise vergleichen. Wenn die Zeichen in zwei Zeilen übereinstimmen, ist der Vergleichsvorgang wahr und gibt true zurück. Andernfalls ist die Operation falsch und gibt den Wert false zurück.

Beispiel für die Verwendung des Vergleichsoperators (=):

:local str1 "hello":local str2 "world":if ($str1 = $str2) do= else

Mit der Match-Funktion können Sie eine Zeichenfolge mit einer Vorlage vergleichen. Das Muster kann mit einem regulären Ausdruck oder Klartext angegeben werden.

Beispiel für die Verwendung der Match-Funktion:

:local str "hello world":if ([/system script environment get str]=="hello world") do= else

In diesem Beispiel prüft die match-Funktion, ob der Wert der Variablen "str" mit der Zeichenfolge "hello world" übereinstimmt. Wenn es übereinstimmt, ist die Vergleichsoperation wahr und der Codeblock wird innerhalb der bedingten Anweisung ausgeführt. Andernfalls wird der Else-Block ausgeführt.

Daher können Sie mit dem Vergleichsoperator (=) oder der Match-Funktion in MikroTik ein Skript schreiben, um Strings zu vergleichen und je nach Ergebnis des Vergleichs verschiedene Aktionen auszuführen.

Definieren und Deklarieren von Variablen

In der Sprache MikroTik sind Variablen sehr wichtig. Sie werden zum Speichern von Daten verwendet und bieten die Möglichkeit, mit komplexen Vorgängen und Bedingungen zu arbeiten.

Variablen in MikroTik werden mit dem Zeichen «$» deklariert und können Buchstaben, Zahlen und Unterstriche enthalten. Die Deklaration einer Variablen erfolgt mit dem Zuweisungsoperator «=».

$interface = "ether1";

In diesem Beispiel wird die Variable $interface mit dem Wert "ether1" deklariert. Hier ist »ether1" eine Zeichenfolge, die in doppelte Anführungszeichen eingeschlossen ist. Es werden keine Anführungszeichen verwendet, um eine Variable mit einem Zahlenwert oder einer IP-Adresse zu deklarieren.

Es ist auch möglich, Variablen zu deklarieren, ohne einen Wert zuzuweisen:

$variable;

Wenn der Variablen kein Wert zugewiesen ist, entspricht sie einer leeren Zeichenfolge.

Die Verwendung von Variablen erleichtert die Arbeit mit Daten und macht den Code lesbarer. Sie können in Bedingungen, Befehlen und Ausdrücken verwendet werden. Der Wert einer Variablen kann anstelle bestimmter Werte verwendet werden, wodurch die Menge an Code reduziert und die Änderung erleichtert wird.

Das Definieren und Deklarieren von Variablen in MikroTik ist ein wichtiger Aspekt, mit dem Sie vertraut sein müssen, um Skripte erfolgreich zu schreiben.

Abrufen von Werten zum Vergleich

Um Zeichenfolgen in MikroTik zu vergleichen, müssen Sie auf die zu vergleichenden Werte zugreifen können. In diesem Abschnitt betrachten wir mehrere Methoden zum Abrufen von Werten für einen weiteren Vergleich.

ArtDie Beschreibung
Abrufen eines Werts aus einer VariablenEine der einfachsten Möglichkeiten, einen Wert zu erhalten, ist die Verwendung von Variablen. In MikroTik werden Variablen mit dem Operator = angegeben und können verschiedene Datentypen enthalten, einschließlich Strings.
Abrufen eines Werts aus einem BefehlWenn Sie einen Wert aus einem Befehl abrufen möchten, können Sie den Operator = und den Befehl verwenden, der den gewünschten Wert zurückgibt. Beispielsweise gibt der Befehl /system identity print den aktuellen Gerätenamen zurück.
Abrufen eines Werts aus dem DateisystemWenn Sie einen Wert aus einer Datei abrufen möchten, können Sie den Operator = und den Befehl /file print verwenden, um den Inhalt des Dateisystems anzuzeigen. Anschließend können Sie die Befehle /file set und /file get verwenden, um den Inhalt der Datei zu lesen und zu schreiben.

Die resultierenden Werte können mit dem Operator = in Variablen gespeichert werden, um sie später im Zeichenfolgenvergleich zu verwenden.

Wenn Sie bestimmte Methoden zum Abrufen von Vergleichswerten verwenden, müssen Sie berücksichtigen, dass die resultierenden Werte Leerzeichen oder andere Zeichen enthalten können, die sich auf das Ergebnis des Vergleichs auswirken können. Daher wird empfohlen, vor dem Vergleichen von Strings die erforderliche Wertverarbeitung durchzuführen, z. B. mit der Funktion :put .

String-Vergleich und Entscheidungsfindung

Um Zeichenfolgen in MikroTik zu vergleichen, können Sie Vergleichsoperatoren wie gleich (==), ungleich (!=), größer (>), kleiner (<), больше или равно (>=), kleiner oder gleich (<=).

Um beispielsweise zu überprüfen, ob zwei Zeilen gleich sind, können Sie den Operator "gleich" verwenden:

 :if ("строка1" == "строка2") do= else=

In diesem Beispiel wird, wenn Zeile 1 und Zeile 2 gleich sind, die Meldung "Zeilen sind gleich" angezeigt, andernfalls wird die Meldung "Zeilen sind nicht gleich" angezeigt.

Sie können auch Vergleichsoperatoren verwenden, um mehr oder weniger als zwei Zeilen zu definieren. Zum Beispiel:

 :local string1 "строка1";:local string2 "строка2";:if ($string1 > $string2) do= else=

Wenn in diesem Beispiel Zeile 1 größer als Zeile 2 ist, wird die Meldung "Zeile 1 größer als Zeile 2" angezeigt, andernfalls wird die Meldung "Zeile 2 größer als Zeile 1" angezeigt.

Das Vergleichen von Zeichenfolgen und die Entscheidungsfindung in MikroTik ermöglicht die Automatisierung vieler Aufgaben und macht Szenarien flexibler und anpassungsfähiger an sich ändernde Bedingungen. Verwenden Sie Vergleichsoperatoren und treffen Sie Entscheidungen basierend auf den Ergebnissen des String-Vergleichs in Ihren MikroTik-Skripten!

Wie verwende ich das String-Vergleichs-Skript in MikroTik

Die String-Vergleichs-Skripte in MikroTik ermöglichen die Automatisierung des Stringüberprüfungsprozesses, was die Ausführung verschiedener Aufgaben im Netzwerk erleichtert. Das Vergleichen von Zeichenfolgen kann beispielsweise nützlich sein, um den Datenverkehr nach bestimmten Parametern zu filtern oder um Aktionen basierend auf übereinstimmenden Zeichenfolgen auszuführen.

Hier ist ein Beispiel für ein einfaches String-Vergleichs-Skript in MikroTik:

/system scriptadd name=compare-strings policy=write source= else=>

In diesem Beispiel deklarieren wir zwei Variablen: sourceString und targetString und weisen ihnen die Werte "example" zu. Dann vergleichen wir die Werte dieser Variablen mit dem Operator "=". Wenn die Zeilen übereinstimmen, wird die Meldung "Strings sind gleich" angezeigt. Andernfalls wird die Meldung "Strings sind nicht gleich" angezeigt.

Nachdem das Skript erstellt wurde, können wir es ausführen, indem wir der Konsole einen Befehl hinzufügen:

/system script run compare-strings

Das Skript macht es daher einfach, Strings in MikroTik zu vergleichen und die entsprechenden Aktionen abhängig vom Ergebnis des Vergleichs durchzuführen. Die Verwendung von String-Vergleichsskripten ist ein leistungsfähiges Werkzeug, um Aufgaben im Netzwerk zu automatisieren und die Effizienz des Administrators zu verbessern.