Para los administradores de sistemas Linux a los que les gusta la automatización, se debe usar la herramienta de línea de comandos. Don Libes ha desarrollado Expect basado en el lenguaje Tcl y se usa ampliamente en operaciones interactivas y escenarios de prueba automatizados. Es especialmente adecuado para entornos que necesitan realizar las mismas operaciones en varios servidores, lo que puede mejorar enormemente a los administradores de sistemas. Eficiencia en el trabajo. Este artículo es un artículo compartido técnicamente recientemente actualizado por thegeekstuff.com, que detalla cómo ejecutar un script de expectativa con diferentes opciones de línea de comando. ¿Cuál es el uso? Puedes usar libremente tu imaginación.
Este artículo asume que está familiarizado con el uso básico de expect.
Si eres nuevo en el lenguaje de scripting de expectativa, puedes comenzar con el ejemplo de "hola mundo" de Expect.
1. Use la opción " -c " para ejecutar el script de espera desde la línea de comandos.
espere que use la opción " -c " para ejecutarla directamente desde la línea de comandos, de la siguiente manera Mostrar:
$ expect -c 'expect " \\ n " {enviar " presionado enter \\ n "}
presionado enter
$
Si ejecuta el script anterior, esperará un carácter de nueva línea (\\ n). Después de presionar el botón " enter ", se imprimirá el mensaje “" presionado enter " y saldrá.
2, use la opción " -i " para ejecutar interactivamente el script expect.
Usando la opción " -i ", puede ejecutar interactivamente el script expect con un comando de lectura desde la entrada estándar. Como se muestra a continuación:
$ expect -i arg1 arg2 arg3
expect1.1 > set argv
arg1 arg2 arg3
expect1.2 >
Normalmente, cuando ejecuta el comando expect (arriba) (no hay ninguna opción " -i "), tratará arg1 como el nombre de archivo del script, por lo que la opción " -i " permite que el script tenga múltiples Los parámetros son tratados como una lista continua.
Esta opción es útil cuando ejecuta la secuencia de comandos expect con la opción " -c " Porque de forma predeterminada, espera se ejecuta de forma interactiva.
3, al ejecutar el script expect, la información de depuración de salida
Cuando ejecuta el código con la opción " -d ", puede generar información de diagnóstico. Como se muestra a continuación:
$ cat sample.exp
#! /Usr /bin /expect -fexpect " \\ n "; enviar " presionado intro "; $ expect -d sample. Espere la versión 5.43.0argv [0] = expect argv [1] = -d argv [2] = sample.expset argc 0set argv0 > sample.exp " set argv " " ejecute comandos desde el archivo de comandos sample.exp
expect: hace que " (quot; spawn_id exp0) coincida con el patrón global " \\ n "? no
expect: hace " \\ n " (spawn_id exp0) que coincida con el patrón global " \\ n "? sí
expect: set expect_out (0, string) " \\ n "
expect: set expect_out (spawn_id) " exp0 "
expect: set expect_out (búfer) " \\ n "
enviar: enviando " pulsado intro " a {exp0 pulsado intro}
4, use la opción " -D " para iniciar el depurador de espera
La opción
" -D " se usa para iniciar el depurador, que solo acepta un parámetro booleano. Este parámetro indica si el activador de solicitudes debe iniciarse inmediatamente, o simplemente inicializar el depurador y usarlo más tarde.
$ expect -D 1 script
" -D " Las opciones a la izquierda de la opción se procesan antes de que se inicie el depurador. Luego, después de que se inicie el depurador, se ejecutarán los comandos restantes.
$ expect -c 'set timeout 10' -D 1 -c 'set a 1'
1: configura a 1
dbg1.0 >
5, ejecute el script de espera línea por línea
Por lo general, espera leerá todo el script en la memoria antes de ejecutar el script. La opción " -b " permite leer solo una línea del script a la vez. Esto es muy útil cuando no está escribiendo un script completo. Expect puede comenzar a ejecutar este script incompleto y puede evitar escribir scripts en archivos temporales.
$ expect -b
6. Deje que no espere interpretar los argumentos de la línea de comandos
Puede usar identificadores para no esperar que se interpreten los argumentos de la línea de comandos.
Puedes leer los argumentos de la línea de comandos como este:
$ cat print_cmdline_args.exp
#! /usr /bin /expect
puts 'argv0: [lindex $ argv 0]';
pone 'argv1: [lindex $ argv 1]';
Al ejecutar el script anterior, las opciones de la línea de comandos se omiten. Se tratan como argumentos (en lugar de la opción esperada) de la siguiente manera:
$ expect print_cmdline_args.exp -d -c
argv0: -d
argv1: - c
suave interrumpir introducir El proceso se puede retrasar de un manejador de interrupciones disc
El archivo de repo es el archivo de configuración de la fuente de yum (repositorio de software) en F
NetBSD es un sistema operativo tipo UNIX gratuito y altamente portátil que es el sistema operativo m
Primero instale CentOS6 e instale el software rp-pppoe. La versión anterior de centos se instala med
Experiencia de aprendizaje del comando awk de Linux
Sistema operativo Linux para crear comandos de archivo
Linux ve a los usuarios en línea y expulsa a los usuarios
Cómo configurar el proxy transparente
Durante varias configuraciones aguas arriba Nginx
Linux muestra directorio chino y nombre de archivo
controlador de Linux, la función de la sonda cuando se le llama
Visualización del método de memoria utilizado por un programa en Linux
Programación de procesos Linux
Top Ten Tips Linux Fast Starts comienza lo más rápido posible
10 consejos sobre la autocompletación de la línea de comandos en Linux
Instalación de la tarjeta de red del sistema operativo Win7
Win8 pantalla azul mensaje de error código 0x00000018 cómo resolver?
Lenovo portátil Win7 sistema para abrir el método de función Bluetooth
Enseñarle cómo cambiar el nombre de
Aplicación de protección de acceso a la red de Windows 2008
Win10 elemento de configuración de la lista de elementos compartidos mostrar cantidad método
El sistema Win10 no puede leer la solución de CD
El uso de la contraseña de Windows 7-yourself Ver inalámbrica