esperar comando en Linux con ejemplos

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *