SLAX-Operatoren
SLAX bietet eine Vielzahl von Operatoren, die der SLAX-Skriptsprache eine große Vielseitigkeit verleihen. Tabelle 1 fasst die verfügbaren Operatoren zusammen und enthält jeweils ein Beispiel und eine Erläuterung.
Namen |
Operator |
Beispiel / Erklärung |
---|---|---|
Hinaus |
+ |
var $result = 1 + 1; Gibt die Summe der Operanden zurück. In diesem Beispiel wird der |
Und |
&& |
($byte-count > 500000) && ($byte-count < 1000000) Werten Sie zwei Ausdrücke aus und geben Sie ein boolesches Ergebnis zurück. Wenn einer der beiden Ausdrücke zu |
Zuordnung |
= |
var $mtu = 1500; mvar $mtu2 = 48; set $mtu2 = 1500; Weisen Sie einer Variablen oder einem Parameter einen Wert oder einem Präfix einen Namespace zu. Im Beispiel wird sowohl der Variablen als auch der |
Bedingte |
?: |
var $result = ($a < 10) ? $b : $c; Geben Sie eine bedingte Zuweisung basierend auf dem booleschen Wert der ausgewerteten Bedingung an. Wenn der Bedingungsausdruck zu Wenn im Beispiel der in der Variablen |
Aufteilung |
Div |
<output>$bit-count div 8; Gibt das Ergebnis der Division des linken Operanden durch den rechten Operanden zurück. Wenn der Rest der Division ungleich Null ist, wird das Ergebnis in dezimaler Gleitkommanotation ausgedrückt. Im Beispiel wird die |
Gleichheit |
== |
$mtu == 1500 Rückgabe |
Größer als |
> |
$hop-count > 0 Gibt zurück |
Größer oder gleich |
>= |
$hop-count >= 1 Rückgabe |
Ungleichheit |
!= |
$mtu != 1500 Rückgabe, |
Iteration |
... |
for $i (1 ... 10) { <player number=$i>; } Durchlaufen Sie einen Bereich von ganzzahligen Werten mit einem Startwert, der dem linken Operanden entspricht, und einem Endwert, der dem rechten Operanden entspricht. Wenn der linke Operand größer als der rechte ist, werden die Zahlen in absteigender Reihenfolge generiert. Der Operator wird in eine XPath-Funktion übersetzt, die die Sequenz als Node-Set generiert. Dieser Operator wurde in Version 1.1 der SLAX-Sprache eingeführt, die ab Junos OS Version 12.2 unterstützt wird. |
Weniger als |
< |
$hop-count < 15 Gibt zurück |
Kleiner oder gleich |
<= |
$hop-count <= 14 Gibt zurück |
Modulo |
Mod |
<output> 10 mod 3; Gibt den Divisionsrest von zwei Zahlen zurück. In diesem Beispiel gibt der Ausdruck den Wert 1 aus. |
Multiplikation |
* |
<output> 5 * 10; Gibt das Produkt der Operanden zurück. In diesem Beispiel gibt der Ausdruck den Wert 50 aus. |
Knotensatz, Anhängen an |
+= |
mvar $block = <block> "start here"; append $block += <block> "next block"; Hängen Sie einen Wert an eine Knotengruppe an, die in einer veränderlichen Variablen enthalten ist, die mit der |
Konvertierung von Knotensätzen |
:= |
var $new-node-set := $rtf-variable; Konvertieren Sie ein Ergebnisstrukturfragment in einen Knotensatz. Ein Ergebnisstrukturfragment enthält eine nicht analysierte XML-Datenstruktur. Es ist nicht möglich, eingebettete XML-Informationen aus diesem Datentyp abzurufen. Ein Skript kann das Ergebnisstrukturfragment in eine Knotenmenge konvertieren und dann die Knotenmenge nach den entsprechenden Informationen durchsuchen und extrahieren. Dieser Operator wird in Junos OS Version 9.2 und höheren Versionen unterstützt. |
Oder |
|| |
($mtu-size != 1500) || ($mtu-size > 2000) Werten Sie zwei Ausdrücke aus und geben Sie ein boolesches Ergebnis zurück. Wenn einer der beiden Ausdrücke als wahr ausgewertet wird, wird der kombinierte Ausdruck als wahr ausgewertet. |
Klammern |
( ) |
var $result = ( $byte-count * 8 ) + 150; Erstellen Sie komplexe Ausdrücke. Klammern funktionieren genauso wie in einem mathematischen Ausdruck, bei dem der Ausdruck innerhalb der Klammern zuerst ausgewertet wird. Klammern können verschachtelt werden. Der innerste Satz von Klammern wird zuerst ausgewertet, dann der nächste Satz usw. |
Zeichenfolgen-Verkettung |
_(Unterstrich) |
var $combined-string = $host-name _ " is located at “ _ $location; Verketten Sie mehrere Zeichenfolgen (beachten Sie, dass Zeichenfolgen nicht mit dem +-Operator in SLAX kombiniert werden können). Wenn im Beispiel "r1" und |
Subtraktion |
- |
var $result = 64 - 14; Gibt die Differenz zwischen dem linken und dem rechten Operanden zurück. In diesem Beispiel wird der |
Unäres Minus |
- |
mvar $number = 5. set $number = - $number; Negieren Sie den Wert des Operanden, indem Sie einen positiven Wert in einen negativen Wert oder einen negativen Wert in einen positiven Wert ändern. Im Beispiel wird der in |
Union |
| |
var $all-interface-nodes = $fe-interface-nodes | $ge-interface-nodes; Erstellen Sie eine Vereinigung von zwei Knotengruppen. Alle Knoten aus einem Satz werden mit den Knoten aus dem zweiten Satz kombiniert. Dies ist nützlich, wenn ein Skript einen ähnlichen Vorgang über XML-Knoten ausführen muss, die aus mehreren Quellen abgerufen werden. |