Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Übersicht über SLAX-Variablen

SLAX-Variablen können beliebige Werte speichern, die Sie berechnen oder statisch definieren können. Dazu gehören Datenstrukturen, XML-Hierarchien sowie Kombinationen aus Text und Parametern. Sie können z. B. die XML-Ausgabe eines Betriebsmodusbefehls einer Variablen zuweisen und dann auf die Hierarchie innerhalb der Variablen zugreifen.

Sie können sowohl lokale als auch globale Variablen definieren. Variablen sind global, wenn sie außerhalb einer Vorlage definiert werden. Ansonsten sind sie lokal. Auf den Wert einer globalen Variablen kann an einer beliebigen Stelle im Skript zugegriffen werden. Der Gültigkeitsbereich einer lokalen Variablen ist auf die Vorlage oder den Codeblock beschränkt, in dem sie definiert ist.

Version 1.0 der SLAX-Sprache unterstützt unveränderliche Variablen, die mit der var Anweisung deklariert werden. Version 1.1 der SLAX-Sprache, die ab Junos OS Version 12.2 unterstützt wird, führt veränderbare Variablen ein, die mit der mvar Anweisung deklariert werden. Veränderbare und unveränderliche Variablen werden in den folgenden Abschnitten erläutert:

Unveränderliche Variablen

In Version 1.0 der SLAX-Sprache deklarieren Sie Variablen mit der var Anweisung. Variablen, die mit der var Anweisung deklariert werden, sind unveränderlich. Sie können den Wert einer unveränderlichen Variablen nur festlegen, wenn Sie sie deklarieren, danach ist der Wert festgelegt.

In der Deklaration wird dem Variablennamen das Dollarzeichen ($) vorangestellt, im Gegensatz zur XSLT-Deklaration, bei der das Dollarzeichen dem Wert des name Attributs des Elements <xsl:variable> kein Präfix voranstellt. Nachdem Sie eine Variable deklariert haben, können Sie sie in einem XPath-Ausdruck referenzieren, indem Sie den Variablennamen mit einem vorangestellten Dollarzeichen ($) verwenden. Sie initialisieren eine Variable, indem Sie dem Variablennamen ein Gleichheitszeichen (=) und einen Ausdruck folgen.

Im folgenden Beispiel wird die Variable locationdeklariert und initialisiert, die dann zum Initialisieren der Variablen messageverwendet wird:

Das XSLT-Äquivalent lautet:

Variablen, die mit der var Anweisung deklariert werden, sind unveränderlich. Daher können Sie den Wert der Variablen niemals ändern, nachdem sie in der Deklaration initialisiert wurde. Obwohl Sie den Wert der Variablen nicht direkt aktualisieren können, können Sie den Effekt nachahmen, indem Sie eine Funktion rekursiv aufrufen und den Wert der Variablen als Parameter übergeben. Zum Beispiel:

Das Ausführen des op-Skripts in der CLI erzeugt die folgende Ausgabe in der Protokolldatei. Obwohl die count Variable fest bleiben muss, myparam wird sie bei jedem Aufruf der Vorlage aktualisiert.

Veränderbare Variablen

Version 1.1 der SLAX-Sprache, die in Junos OS Version 12.2 und höheren Versionen unterstützt wird, führt veränderbare Variablen ein. Im Gegensatz zu Variablen, die mit der Anweisung deklariert werden, kann der var Wert einer veränderlichen Variablen durch ein Skript geändert werden. Sie können den Anfangswert einer veränderlichen Variablen zum Zeitpunkt der Deklaration oder an einem beliebigen Punkt im Skript festlegen.

Sie deklarieren veränderbare Variablen mit der mvar Anweisung. In der Deklaration wird dem Variablennamen das Dollarzeichen ($) vorangestellt. Nachdem Sie eine veränderliche Variable deklariert haben, können Sie sie in einem XPath-Ausdruck referenzieren, indem Sie den Variablennamen mit einem vorangestellten Dollarzeichen ($) verwenden. Sie initialisieren die Variable, indem Sie dem Variablennamen ein Gleichheitszeichen (=) und einen Ausdruck folgen.

Im folgenden Beispiel wird die veränderliche Variable locationdeklariert und initialisiert, die dann zum Initialisieren der veränderlichen Variablen messageverwendet wird:

Veränderbare Variablen können initialisiert oder aktualisiert werden, nachdem sie deklariert wurden. Verwenden Sie die set Anweisung, um den Wert einer veränderlichen Variablen zu initialisieren oder zu aktualisieren. Im folgenden Beispiel wird die Variable blockdeklariert und mit dem Element <block>initialisiert:

Verwenden Sie für veränderbare Variablen, die einen Knotensatz darstellen, die append Anweisung, um einen neuen Knoten an den vorhandenen Knotensatz anzuhängen. Im folgenden Beispiel wird die veränderbare Variable $mylisterstellt, die mit einem <item> Element initialisiert wird. Für jeden Lebensmittelartikel in der Variablen hängt das Skript ein <item> Element mit dem Namen und der $list Größe des Artikels an den $mylist Knotensatz an.

Die Ausgabe des Skripts lautet: