Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Déclarer et utiliser des arguments de ligne de commande dans les scripts Op

Les scripts op Junos OS peuvent accepter des arguments de ligne de commande lorsque vous appelez le script. Vous pouvez inclure des déclarations dans le script op ou des déclarations dans la configuration qui permettent à un utilisateur de voir la liste des arguments possibles lorsqu’il demande une aide contextuelle pour le script op dans l’interface de ligne de commande. Le script doit également inclure toutes les déclarations et le code nécessaires pour traiter ces arguments. Les sections suivantes détaillent comment définir les arguments et le texte d’aide et utiliser les arguments dans un script op.

Déclaration des arguments de ligne de commande de script Op

Il existe deux façons de définir la liste des arguments attendus des scripts op qui seront affichés lors de l’utilisation d’une aide contextuelle dans la CLI :

  • Inclure des déclarations dans le script op

  • Inclure des instructions dans la configuration Junos OS

Les arguments générés par les scripts et les arguments générés par la configuration ont le même impact opérationnel. Les sections suivantes expliquent comment utiliser les différentes méthodes pour définir les arguments de script op et les afficher dans la CLI :

Comment définir des arguments dans le script Op

Vous pouvez déclarer les arguments de ligne de commande attendus d’un script op directement dans le script d’exploitation Python, SLAX ou XSLT.

Pour déclarer les arguments de ligne de commande dans les scripts Op Python :

  1. Déclarer un dictionnaire global nommé arguments.
  2. Pour chaque argument, définissez une paire nom-valeur qui correspond au texte d’aide de l’argument et du nom de l’argument.

Syntaxe Python

Note:

Pour afficher les arguments dans la CLI, les scripts Python doivent inclure l’instruction if __name__ == '__main__': .

Pour déclarer les arguments de ligne de commande dans les scripts d’exploitation SLAX ou XSLT :

  1. Déclarez une variable globale nommée arguments.
  2. Pour chaque argument, définissez un <argument> élément.
  3. Au sein de chaque <argument> élément :
    • Définissez l’élément <name> avec le nom de l’argument.
    • Définissez éventuellement un <description> élément qui fournit le texte d’aide pour cet argument.

Syntaxe XSLT

Syntaxe SLAX

Comment définir des arguments dans la configuration junos OS

Vous pouvez déclarer les arguments de ligne de commande attendus d’un script op dans la configuration Junos OS, au remplacement de la déclaration des arguments directement dans le script op.

Pour déclarer les arguments de ligne de commande dans la configuration :

  1. Accédez à l’instruction arguments au niveau de la [edit system scripts op file filename] hiérarchie pour le script donné.
  2. Configurez le nom de l’argument.
  3. Configurez éventuellement l’instruction description pour qu’elle fournisse le texte d’aide de l’argument.

Par exemple :

Comment afficher des arguments dans l’aide contextuelle

Une fois que vous avez déclaré des arguments dans le script op ou dans la configuration, vous pouvez utiliser l’aide contextuelle de l’interface cli pour lister les arguments de script op. Si vous incluez la description optionnelle de l’argument, la CLI affiche le texte d’aide avec le nom de l’argument.

Vous pouvez également créer un argument masqué pour un script op en n’incluant pas la déclaration d’argument dans le script op ou la configuration. Vous utilisez l’argument comme vous le feriez normalement dans le script, mais l’interface CLI n’affiche pas l’argument ou le texte d’aide lorsque vous demandez une aide contextuelle pour ce script op.

Note:

Si vous configurez des arguments de ligne de commande dans la configuration Junos OS et déclarez également des arguments directement dans le script op, les arguments que vous déclarez dans le script sont toujours disponibles, mais l’interface cli ne les répertorie pas sous Possible completions lorsque vous émettez la op filename ? commande. Cela se produit parce que le processus de gestion (mgd) remplit la liste en vérifiant d’abord la configuration à la recherche d’arguments. Le processus mgd vérifie la recherche d’arguments dans le script uniquement si aucun argument n’est trouvé dans la configuration. Ainsi, si vous déclarez des arguments dans la configuration, tous les arguments déclarés dans le script deviennent cachés dans la CLI.

Pour plus d’informations sur la configuration du texte d’aide pour les scripts op, voir Configurer le texte d’aide pour les scripts op.

Utilisation d’arguments de ligne de commande dans les scripts Op

Vous exécutez des scripts op locaux avec la op filename commande. Pour transmettre les arguments de ligne de commande au script, incluez chaque argument nom et valeur lorsque vous exécutez le script.

Note:

Si vous spécifiez un argument que le script ne reconnaît pas, il ignore l’argument.

Les sections suivantes expliquent comment utiliser les arguments de ligne de commande qui sont transmis aux scripts d’exploitation Python, SLAX et XSLT :

Comment utiliser des arguments dans les scripts Python Op

Les scripts op Python peuvent utiliser des bibliothèques d’analyse de ligne de commande standard pour traiter et utiliser des arguments de ligne de commande. Par exemple, vous pouvez utiliser la bibliothèque Python argparse pour définir facilement les arguments requis et facultatifs, spécifier des valeurs par défaut et gérer les arguments dans le script.

Pour permettre aux utilisateurs d’utiliser plus facilement les bibliothèques Python standard pour analyser les arguments de ligne de commande, nous avons modifié la façon dont les arguments sont transmis aux scripts op Python. À partir de La version 21.2R1 de Junos OS et de la version 21.2R1 de Junos OS Evolved, lorsque l’équipement transmet des arguments de ligne de commande à un script Python op, il préfixe un seul trait d’union (-) vers des noms d’arguments à caractère unique et préfixe deux traits d’union (--) à des noms d’arguments multi-caractères. Dans les versions précédentes, les équipements préfixent un seul trait d’union (-) à tous les noms d’arguments. Vous devez vous assurer que votre script op gère correctement les arguments de votre version spécifique.

Les exemples suivants utilisent le argparse module pour gérer les arguments de script. Les exemples définissent le dictionnaire global arguments , et les clés de dictionnaire sont utilisées pour définir les arguments attendus pour l’analyseur. Nous fournissons deux exemples de scripts, qui gèrent correctement les arguments dans les versions spécifiées.

Syntaxe Python (Junos OS version 21.2R1 ou ultérieure)

Syntaxe Python (Junos OS version 21.1 et versions antérieures)

Comment utiliser des arguments dans les scripts OP SLAX et XSLT

Pour utiliser des arguments de ligne de commande dans les scripts d’exploitation SLAX ou XSLT, vous devez :

  1. Inclure une déclaration de paramètres pour chaque argument
  2. Assurez-vous que le nom du paramètre est identique au nom que vous avez défini dans la arguments déclaration de variable dans le script ou arguments l’instruction dans la configuration Junos OS.

Syntaxe XSLT

Syntaxe SLAX

Le script op attribue la valeur de chaque argument de script au paramètre correspondant, qui peut ensuite être référencé dans l’ensemble du script.

Exemple : déclaration d’arguments dans les scripts D’exploitation XSLT

Déclarez deux arguments nommés interface et protocol. Exécutez le script en spécifiant l’interface ge-0/2/0.0 et le inet protocole comme valeurs pour les arguments.

Les exemples suivants montrent comment déclarer les arguments dans le script XSLT ou dans la configuration :

Déclaration d’arguments dans le script Op (script1)

Déclaration des arguments dans la configuration

En plus de déclarer les arguments dans le script ou la configuration, vous devez également déclarer les paramètres correspondants dans le script afin de référencer les arguments de script et d’accéder à leurs valeurs.

Déclaration des paramètres

Indiquez les noms et les valeurs de l’argument lorsque vous exécutez le script. Par exemple :

Exécution du script

Exemple : déclaration et utilisation d’arguments dans des scripts Python Op

Déclarez deux arguments nommés interface et p dans le script Python op. Exécutez le script en spécifiant l’interface ge-0/2/0.0 et le inet protocole comme valeurs pour les arguments. Sélectionnez les déclarations de traitement des arguments appropriées en fonction de votre version. Le script utilise des instructions compatibles avec Junos OS version 21.2R1 et versions ultérieures et commente les déclarations pour traiter les arguments dans les versions antérieures.

Déclaration d’arguments dans le script Op (script1.py)

Sinon, au lieu d’inclure le arguments dictionnaire dans le script d’exploitation Python, vous pouvez inclure les arguments dans la configuration exactement comme vous le feriez pour les scripts SLAX et XSLT.

Pour afficher les arguments du script op dans l’aide contextuelle de l’interface cli, la commande est la op filename ? suivante.

Affichage des arguments

Indiquez les noms et les valeurs de l’argument lorsque vous exécutez le script. Par exemple :

Exécution du script

Tableau de l’historique des versions
Libération
Description
21.2R1 et 21.2R1-EVO
À partir de La version 21.2R1 de Junos OS et de la version 21.2R1 de Junos OS Evolved, lorsque l’équipement transmet des arguments de ligne de commande à un script Python op, il préfixe un seul trait d’union (-) vers des noms d’arguments à caractère unique et préfixe deux traits d’union (--) à des noms d’arguments multi-caractères.