esperar comando o lenguaje de secuencias de comandos funciona con secuencias de comandos que esperan entradas del usuario. Automatiza la tarea proporcionando entradas.
// Podemos instalar el comando expect usando lo siguiente si no está instalado
// En Ubuntu
$sudo apt install esperar// En sistemas basados en Redhat
$yum install expect
Primero escribimos un script que necesitará aportes de los usuarios y luego escribiremos otro script usando expect para automatizar la tarea.
#!/bin/bash echo "Enter your name" read $REPLY echo "Enter your age" read $REPLY echo "Enter your salary" read $REPLY
Bien, escribamos el guión para responder las preguntas del guión anterior.
#!/usr/bin/expect -f set timeout -1 spawn ./que.sh expect "Enter your name\r" send -- "I am Nikhil\r" expect "Enter your age\r" send -- "24\r" expect "Enter your salary\r" send -- "100k\r" expect eof
La primera línea define la ruta del comando expect que es #!/usr/bin/expect .
En la segunda línea de código, deshabilitamos el tiempo de espera. Luego inicie nuestro script usando el comando spawn.
Podemos usar spawn para ejecutar cualquier programa que queramos o cualquier otro script interactivo. El comando spawn se usa para iniciar un script o un programa como shell, FTP, Telnet, SSH, SCP, etc.
Las líneas restantes son el script Expect que interactúa con nuestro script de shell.
La última línea es el final del archivo, lo que significa el final de la interacción.
Primero tenemos que hacer que el archivo sea ejecutable y luego ejecutarlo. Puedes hacerlo escribiendo lo siguiente:
$ chmod +x ./ans.sh $ ./ans.sh
Esto producirá una salida como esta:
Salida:
esperar automáticamente
Para crear un script de expectativa automáticamente, puede usar el comando autoexpect. autoexpect funciona como expect, pero crea el script de automatización por usted. El script que desea automatizar se pasa a autoexpect como parámetro y responde las preguntas y sus respuestas se guardan en un archivo.
$ autoexpect ./que.sh
Se genera un archivo llamado script.exp que contiene el mismo código que hicimos anteriormente con algunas adiciones.
si ejecuta el archivo script.exp, verá las mismas respuestas que proporcionó.
Publicación traducida automáticamente
Artículo escrito por schrodinger_19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA