Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Declarar y usar argumentos de línea de comandos en scripts operativos

Los scripts operativos de Junos OS pueden aceptar argumentos de línea de comandos cuando se invoca el script. Puede incluir declaraciones en el script op o instrucciones en la configuración que permiten a un usuario ver la lista de argumentos posibles cuando solicita ayuda sensible al contexto para el script op en la CLI. El script también debe incluir las declaraciones y el código necesarios para procesar esos argumentos. En las siguientes secciones se detalla cómo definir los argumentos, el texto de ayuda y el uso de los argumentos en una secuencia de comandos de op.

Declaración de argumentos de línea de comandos de secuencia de comandos op

Hay dos maneras de definir la lista de argumentos de scripts operativos esperados que se mostrarán cuando se utilice ayuda sensible al contexto en la CLI:

  • Incluir declaraciones en el script operativo

  • Incluir instrucciones en la configuración de Junos OS

Los argumentos generados por scripts y por configuración tienen el mismo impacto operativo. En las siguientes secciones se explica cómo usar los diferentes métodos para definir los argumentos de script op y mostrarlos en la CLI:

Cómo definir argumentos en el script operativo

Puede declarar los argumentos de línea de comandos esperados de una secuencia de comandos op directamente en la secuencia de comandos de Python, SLAX o XSLT op.

Para declarar argumentos de línea de comandos en scripts operativos de Python:

  1. Declare un diccionario global denominado arguments.
  2. Para cada argumento, defina un par nombre-valor que se asigne al nombre del argumento y al texto de ayuda del argumento.

Sintaxis de Python

Nota:

Para mostrar los argumentos en la CLI, los scripts de Python deben incluir la if __name__ == '__main__': instrucción.

Para declarar argumentos de línea de comandos en scripts operativos SLAX o XSLT:

  1. Declare una variable global denominada arguments.
  2. Para cada argumento, defina un <argument> elemento.
  3. Dentro de cada <argument> elemento:
    • Defina el <name> elemento con el nombre del argumento.
    • Si lo desea, defina un <description> elemento que proporcione el texto de ayuda para ese argumento.

Sintaxis XSLT

Sintaxis SLAX

Cómo definir argumentos en la configuración de Junos OS

Puede declarar los argumentos de línea de comandos esperados de una secuencia de comandos op en la configuración de Junos OS, como alternativa a declarar los argumentos directamente en la secuencia de comandos op.

Para declarar argumentos de línea de comandos en la configuración:

  1. Vaya a la arguments instrucción en el [edit system scripts op file filename] nivel de jerarquía para la secuencia de comandos dada.
  2. Configure el nombre del argumento.
  3. Si lo desea, configure la description instrucción para que proporcione el texto de ayuda para el argumento.

Por ejemplo:

Cómo mostrar argumentos en la Ayuda sensible al contexto

Después de declarar argumentos en el script op o en la configuración, puede usar la ayuda sensible al contexto de la CLI para enumerar los argumentos de script op. Si incluye la descripción del argumento opcional, la CLI muestra el texto de ayuda con el nombre del argumento.

También puede crear un argumento oculto para una secuencia de comandos op al no incluir la declaración de argumento en el script op o la configuración. Se usa el argumento como lo haría normalmente en la secuencia de comandos, pero la CLI no muestra el argumento ni el texto de ayuda cuando solicita ayuda sensible al contexto para ese script operativo.

Nota:

Si configura argumentos de línea de comandos en la configuración de Junos OS y también declara argumentos directamente en la secuencia de comandos op, los argumentos que declara en la secuencia de comandos siguen estando disponibles, pero la CLI no los Possible completions enumera en cuando se emite el op filename ? comando. Esto se produce porque el proceso de administración (mgd) rellena la lista comprobando primero la configuración para los argumentos. El proceso mgd comprueba el script para argumentos solo si no se encuentra ningún argumento en la configuración. Por lo tanto, si declara argumentos en la configuración, todos los argumentos declarados en la secuencia de comandos se ocultan en la CLI.

Para obtener más información acerca de cómo configurar texto de ayuda para scripts operativos, consulte Configurar texto de ayuda para scripts operativos.

Uso de argumentos de línea de comandos en scripts operativos

Puede ejecutar scripts operativos locales con el op filename comando. Para pasar argumentos de línea de comandos a la secuencia de comandos, incluya el nombre y el valor de cada argumento cuando ejecute la secuencia de comandos.

Nota:

Si especifica un argumento que la secuencia de comandos no reconoce, el script ignora el argumento.

En las siguientes secciones se explica cómo usar los argumentos de línea de comandos que se pasan a los scripts op de Python, SLAX y XSLT:

Cómo usar argumentos en scripts operativos de Python

Los scripts operativos de Python pueden usar bibliotecas estándar de análisis de línea de comandos para procesar y usar argumentos de línea de comandos. Por ejemplo, puede usar la biblioteca python argparse para definir fácilmente argumentos necesarios y opcionales, especificar valores predeterminados y controlar los argumentos en la secuencia de comandos.

Para permitir a los usuarios usar con mayor facilidad las bibliotecas estándar de Python para analizar argumentos de línea de comandos, modificamos la forma en que los argumentos se pasan a scripts op de Python. A partir de Junos OS versión 21.2R1 y Junos OS Evolved versión 21.2R1, cuando el dispositivo pasa argumentos de línea de comandos a una secuencia de comandos de Python op script, prefija un guión único (-) a nombres de argumentos de un solo carácter y prefijos dos guiones (--) a nombres de argumentos de varios caracteres. En versiones anteriores, los dispositivos prefijan un único guión (-) a todos los nombres de argumentos. Debe asegurarse de que la secuencia de comandos op maneje correctamente los argumentos de su versión específica.

Los siguientes ejemplos usan el argparse módulo para controlar los argumentos de script. Los ejemplos definen el diccionario global arguments y las claves del diccionario se utilizan para definir los argumentos esperados para el analizador. Proporcionamos dos scripts de ejemplo, que manejan adecuadamente los argumentos de las versiones especificadas.

Sintaxis de Python (Junos OS versión 21.2R1 o posterior)

Sintaxis de Python (Junos OS versión 21.1 y anteriores)

Cómo usar argumentos en scripts operativos SLAX y XSLT

Para usar argumentos de línea de comandos en scripts operativos SLAX o XSLT, debe:

  1. Incluir una declaración de parámetro para cada argumento
  2. Asegúrese de que el nombre del parámetro es idéntico al nombre que definió en la declaración de variable arguments en el script o en la arguments instrucción en la configuración de Junos OS.

Sintaxis XSLT

Sintaxis SLAX

La secuencia de comandos op asigna el valor de cada argumento de secuencia de comandos al parámetro correspondiente, que luego se puede hacer referencia a todo el script.

Ejemplo: Declaración de argumentos en scripts operativos de XSLT

Declare dos argumentos denominados interface y protocol. Ejecute el script especificando la interfaz ge-0/2/0.0 y el inet protocolo como valores para los argumentos.

En los ejemplos siguientes, se muestra cómo declarar los argumentos en la secuencia de comandos XSLT o en la configuración:

Declaración de argumentos en la secuencia de comandos operativo (script1)

Declaración de argumentos en la configuración

Además de declarar los argumentos en la secuencia de comandos o la configuración, también debe declarar los parámetros correspondientes en la secuencia de comandos para hacer referencia a los argumentos de script y acceder a sus valores.

Declarar los parámetros

Proporcione los nombres y valores de argumentos al ejecutar la secuencia de comandos. Por ejemplo:

Ejecución del script

Ejemplo: Declaración y uso de argumentos en scripts operativos de Python

Declare dos argumentos con nombre interface y p en la secuencia de comandos op de Python. Ejecute el script especificando la interfaz ge-0/2/0.0 y el inet protocolo como valores para los argumentos. Seleccione las instrucciones de manejo de argumentos adecuadas según su versión. El script usa instrucciones compatibles con la versión 21.2R1 y posteriores de Junos OS, y comenta las instrucciones para manejar argumentos en versiones anteriores.

Declaración de argumentos en la secuencia de comandos op (script1.py)

Alternativamente, en lugar de incluir el arguments diccionario en la secuencia de comandos op de Python, puede incluir los argumentos en la configuración exactamente como lo haría para los scripts SLAX y XSLT.

Para ver los argumentos de script op en la ayuda sensible al contexto de la CLI, emita el op filename ? comando.

Mostrar los argumentos

Proporcione los nombres y valores de argumentos al ejecutar la secuencia de comandos. Por ejemplo:

Ejecución del script

Tabla de historial de versiones
Lanzamiento
Descripción
21.2R1 y 21.2R1-EVO
A partir de Junos OS versión 21.2R1 y Junos OS Evolved versión 21.2R1, cuando el dispositivo pasa argumentos de línea de comandos a una secuencia de comandos de Python op script, prefija un guión único (-) a nombres de argumentos de un solo carácter y prefijos dos guiones (--) a nombres de argumentos de varios caracteres.