Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Erforderliche Textbausteine für Op-Skripte

ZUSAMMENFASSUNG Definieren Sie die Textbausteine für Op-Skripte.

Junos OS-Op-Skripte können in XSLT (Extensible Stylesheet Language Transformations), SLAX (Stylesheet Language Alternative SyntaX) oder Python geschrieben werden. Op-Skripte müssen die erforderlichen Textbausteine enthalten, die für diese Skriptsprache erforderlich sind, und zwar sowohl für grundlegende Skriptfunktionen als auch für alle optionalen Funktionen, die innerhalb des Skripts verwendet werden, wie die Junos OS-Erweiterungsfunktionen und benannte Vorlagen. Dieses Thema enthält Standardbausteine, die in XSLT-, SLAX- und Python-Op-Skripts verwendet werden können.

SLAX- und XSLT-Op-Skripte basieren auf Junos XML und Junos XML-Protokoll-Tag-Elementen. Wie alle XML-Elemente schließen spitze Klammern den Namen eines Junos XML- oder Junos XML-Protokoll-Tag-Elements in die öffnenden und schließenden Tags ein. Dies ist eine XML-Konvention, und die eckigen Klammern sind ein erforderlicher Teil des vollständigen Tag-Elementnamens. Sie sind nicht zu verwechseln mit den spitzen Klammern, die in der Dokumentation verwendet werden, um optionale Teile von Junos OS CLI-Befehlszeichenfolgen anzugeben.

XSLT-Textbausteine für Op-Skripte

Der Textbaustein für XSLT-Op-Skripte lautet wie folgt:

Zeile 1 ist die XML-Verarbeitungsanweisung (Extensible Markup Language), die diese Datei als XML markiert und die XML-Version als 1.0 angibt. Die XML-PI (sofern vorhanden) muss das erste Nicht-Kommentartoken in der Skriptdatei sein.

Zeile 2 öffnet das Stylesheet und gibt die XSLT-Version als 1.0 an.

In den Zeilen 3 bis 6 sind alle Namespace-Zuordnungen aufgeführt, die üblicherweise in Vorgangsskripten verwendet werden. Nicht alle diese Präfixe werden in diesem Beispiel verwendet, aber es ist kein Fehler, Namespacezuordnungen aufzulisten, auf die nicht verwiesen wird. Durch das Auflisten aller Namespacezuordnungen werden Fehler vermieden, wenn die Zuordnungen in späteren Versionen des Skripts verwendet werden.

Zeile 7 ist eine XSLT-Importanweisung. Es lädt die Vorlagen und Variablen aus der Datei, auf die als .. /import/junos.xsl, die im Lieferumfang von Junos OS enthalten ist (in der Datei /usr/libdata/cscript/import/junos.xsl). Die Datei junos.xsl enthält eine Reihe benannter Vorlagen, die Sie in Ihren Skripten aufrufen können. Diese benannten Vorlagen werden unter Grundlegendes zu benannten Vorlagen in Junos OS-Automatisierungsskripten erläutert.

Zeile 8 definiert eine Vorlage, die dem </> Element entspricht. Das <xsl:template match="/"> Element ist das Stammelement und stellt die oberste Ebene der XML-Hierarchie dar. Alle XPath-Ausdrücke im Skript müssen auf der obersten Ebene beginnen. Auf diese Weise kann das Skript auf alle möglichen Junos XML- und Junos XML-Protokoll-Remote-Prozeduraufrufe (RPCs) zugreifen. Weitere Informationen finden Sie unter XPath-Übersicht.

Nach dem <xsl:template match="/"> tag-Element müssen die Tags und </op-script-results> container <op-script-results> die untergeordneten Tags der obersten Ebene sein, wie in den Zeilen 9 und 10 gezeigt.

Zeile 11 schließt die Vorlage.

Zwischen Zeile 11 und Zeile 12 können Sie zusätzliche XSLT-Vorlagen definieren, die aus der <xsl:template match="/"> Vorlage heraus aufgerufen werden.

Zeile 12 schließt das Stylesheet und das Op-Skript.

SLAX-Textbausteine für Op-Skripte

Der SLAX-Op-Skript-Textbaustein lautet wie folgt:

Python-Textbausteine für Op-Skripte

Python-Op-Skripte verfügen nicht über einen erforderlichen Textbaustein, müssen jedoch alle Objekte importieren, die im Skript verwendet werden. Python-Op-Skripte können Folgendes importieren:

  • Junos_Context dictionary: Enthält Informationen über die Skriptausführungsumgebung.

  • jcs library: Ermöglicht dem Skript die Verwendung von Junos OS-Erweiterungsfunktionen und von Junos OS benannten Vorlagen im Skript.

  • jnpr.junos module and classes: Ermöglicht dem Skript die Verwendung von Junos PyEZ.

Zum Beispiel:

Python-Automatisierungsskripte müssen keine Interpreter-Direktive Zeile (#!/usr/bin/env python) am Anfang des Skripts einfügen. Das Programm wird jedoch weiterhin korrekt ausgeführt, wenn ein solches vorhanden ist.