Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Beispiel: Anpassen der Ausgabe des Befehls show interfaces knappe mithilfe eines Op-Skripts

In diesem Beispiel wird ein op-Skript verwendet, um die Ausgabe des show interfaces terse Befehls anzupassen. Das XSLT-Skript wird Zeile für Zeile erläutert.

Anforderungen

In diesem Beispiel wird ein Gerät verwendet, auf dem Junos OS ausgeführt wird.

Übersicht und Op-Skript

Standardmäßig sieht das Layout des show interfaces terse Befehls wie folgt aus:

In Junos XML werden die Ausgabefelder wie folgt dargestellt:

XSLT-Syntax

Mit dem show interfaces terse folgenden Skript wird die Ausgabe des Befehls angepasst. Das Skript wird Zeile für Zeile erläutert.

Zeilenweise Erklärung

Die Zeilen 1 bis 7, Zeile 20 sowie die Zeilen 105 und 106 sind die Textbausteine, die Sie in jedes Op-Skript aufnehmen. Weitere Informationen finden Sie unter Erforderliche Boilerplate für Op-Skripte.

In den Zeilen 8 bis 17 wird eine Variable namens argumentsdeklariert, die zwei Argumente für das Skript enthält: interface und protocol. Diese Variablendeklaration bewirkt, dass interface und protocol in der Befehlszeilenschnittstelle (CLI) als verfügbare Argumente für das Skript angezeigt wird.

In den Zeilen 18 und 19 werden dem Skript zwei Parameter deklariert, die den in den Zeilen 8 bis 17 erstellten Argumenten entsprechen. Die Parameternamen müssen exakt mit den Argumentnamen übereinstimmen.

In den Zeilen 20 bis 31 wird eine Variable mit dem Namen rpcdeklariert. Der show interfaces terse Befehl wird der rpc Variablen zugewiesen. Wenn Sie das Argument beim Ausführen des Skripts einschließen, wird der Wert des Arguments (der Schnittstellenname) an das interface Skript übergeben.

Zeile 32 deklariert eine Variable named out und wendet auf sie die Ausführung der rpc Variablen an (show interfaces terse Befehl).

Zeile 33 gibt an, dass der Ausgabepegel des show interfaces zu ändernden Befehls (im Gegensatz zu extensive, , detailusw.) ist terse .

In den Zeilen 34 bis 39 wird angegeben, dass die intf Vorlage auf jede Instanz dieses Protokolltyps in der Ausgabe angewendet wird, wenn Sie das protocol Argument beim Ausführen des Skripts einschließen und wenn der von Ihnen angegebene inetProtokollwert , inet6mpls, oder tnpist.

In den Zeilen 40 bis 47 wird angegeben, dass eine Fehlermeldung generiert wird, wenn Sie das protocol Argument beim Ausführen des Skripts einschließen und wenn der von Ihnen angegebene Protokollwert ein anderer Wert als inet, , inet6mplsoder tnpist.

In den Zeilen 48 bis 52 wird angegeben, dass die intf Vorlage auf jede logische Schnittstelle in der Ausgabe angewendet wird, wenn Sie das protocol Argument beim Ausführen des Skripts nicht einschließen.

Die Zeilen 53 bis 56 sind schließende Tags.

Zeile 57 öffnet die intf Vorlage. Mit dieser Vorlage wird die Ausgabe des show interfaces terse Befehls angepasst.

Zeile 58 deklariert eine Variable mit dem Namen status, die angeben soll, wie der Schnittstellenstatus gemeldet wird. Die Zeilen 59 bis 78 enthalten eine <xsl:choose> Anweisung, die die status Variable unter Berücksichtigung aller möglichen Zustände auffüllt. Wie immer in XSLT wird die erste <xsl:when> Anweisung ausgeführt, die als TRUE ausgewertet wird, und der Rest wird ignoriert. Jede <xsl:when> Anweisung wird separat erklärt.

In den Zeilen 60 bis 62 wird angegeben, dass keine Ausgabe generiert wird, wenn 'up' und oper-status 'up' admin-status ist. In diesem Fall bleibt die Variable status leer.

In den Zeilen 63 bis 65 wird angegeben, dass die Variable den status Text offlineenthält, wenn admin-status 'down' ist.

In den Zeilen 66 bis 68 wird angegeben, dass die Variable den Text p-offlineenthält, wenn oper-status 'down' und die status physische Schnittstelle admin-status 'down' ist. ../( Wählt die physische Schnittstelle aus.)

In den Zeilen 69 bis 71 wird angegeben, dass die Variable den Text p-downenthält, wenn oper-status 'down' und die status physische Schnittstelle oper-status 'down' ist. ../( Wählt die physische Schnittstelle aus.)

In den Zeilen 72 bis 74 wird angegeben, dass die Variable den status Text downenthält, wenn oper-status 'down' ist.

In den Zeilen 75 bis 77 wird angegeben, dass, wenn keiner der Testfälle wahr ist, die status Variable einen Schrägstrich als Trennzeichen enthält oper-status und admin-status verkettet.

Die Zeilen 78 und 79 sind schließende Tags.

In den Zeilen 80 bis 89 wird eine Variable namens definiert desc. Eine <xsl:choose> Anweisung füllt die Variable aus, indem sie die spezifischste verfügbare Schnittstellenbeschreibung auswählt. Wenn eine logische Schnittstellenbeschreibung in der Konfiguration enthalten ist, wird sie zum Auffüllen der Variablen desc verwendet. Ist dies nicht der Fall, wird die Beschreibung der physikalischen Schnittstelle verwendet. Wenn keine Beschreibung der physikalischen Schnittstelle in der Konfiguration enthalten ist, bleibt die Variable leer. Wie immer in XSLT wird die erste <xsl:when> Anweisung ausgeführt, die als TRUE ausgewertet wird, und der Rest wird ignoriert.

Der Rest des Skripts gibt an, wie die Ausgabe des Betriebsmodus angezeigt wird.

In den Zeilen 90 und 91 wird festgelegt, dass der Name der logischen Schnittstelle zuerst in der Ausgabe angezeigt wird.

In den Zeilen 92 bis 94 wird getestet, ob die desc Variable eine Anzahl von Zeichen ungleich Null hat. Wenn die Anzahl der Zeichen größer als Null ist, wird die Schnittstellenbeschreibung an der Standardposition des admin-status Feldes angezeigt. (In der Standardausgabe wird das Feld in der admin-status zweiten Zeile angezeigt.)

Zeile 95 gibt an, dass als nächstes der in der Variablen status definierte Schnittstellenstatus angezeigt wird.

In den Zeilen 96 bis 103 wird angegeben, dass nur Schnittstellen mit diesem konfigurierten Protokoll angezeigt werden, wenn Sie das protocol Argument beim Ausführen des Skripts einschließen. Wenn Sie das Argument protocol nicht angeben, werden alle Schnittstellen angezeigt.

Die Zeilen 104 bis 106 sind schließende Tags.

SLAX-Syntax

Die SLAX-Version des Skripts lautet wie folgt:

Konfiguration

Verfahren

Schritt-für-Schritt-Anleitung

So laden Sie das Skript herunter, aktivieren und testen es:

  1. Kopieren Sie das XSLT- oder SLAX-Skript in eine Textdatei, nennen Sie die Datei interface.xsl oder interface.slax und kopieren Sie sie in das Verzeichnis / var/db/scripts/op/ auf dem Gerät.

  2. Fügen Sie im Konfigurationsmodus die file Anweisung auf Hierarchieebene [edit system scripts op] und ggf. interface.xsl oder interface.slax ein.

  3. Geben Sie den Befehl ein, um die Konfiguration zu bestätigen und in den commit and-quit Betriebsmodus zurückzukehren.

  4. Führen Sie das Op-Skript aus, indem Sie den op interface Befehl operational mode eingeben.

Überprüfung

Überprüfen der Commit-Skriptausgabe

Zweck

Stellen Sie sicher, dass sich das Skript wie erwartet verhält.

Aktion

Geben Sie die Betriebsbefehle aus und op interface vergleichen Sie die show interfaces terse Ausgabe. Der show interfaces terse Befehl zeigt die Standardausgabe an. Der op interface Befehl zeigt die benutzerdefinierte Ausgabe an.

Geben Sie den op interface Betriebsbefehl für verschiedene Hierarchieebenen und überprüfen Sie die Ausgabe. Zum Beispiel: