Comando read

read Script:read Variable:read

El comando read interrumpe la ejecución del shell hasta que el usuario introduzca una cadena de caracteres (aunque sea vacía) en su entrada estándar.

Las palabras que componen la cadena de caracteres escrita por el usuario se asignan a las variables cuyos nombres se pasan como argumentos al comando read:

[javier]$ read a b c 
1 2 3 
[javier]$ echo $a ; echo $b ; echo $c 
1 
2 
3 

Si hay más palabras que variables, la última variable contendrá el fin de la cadena de caracteres. En el caso inverso, las variables suplementarias serán nulas:

[javier]$ read a b c 
 1 2 3 4 
[javier]$ echo $a ; echo $b ; echo $c 
1 
2 
3 4 
[javier]$ read a b c 
1 2 
[javier]$ echo $a ; echo $b ; echo $c 
1 
2 

Si se llama al comando read sin argumentos, la respuesta del usuario se asigna a la variable de entorno $REPLY:

[javier]$ read 
respuesta del usuario 
[javier]$ echo $REPLY 
respuesta del usuario 

Se puede hacer que la entrada de una frase esté precedida por la opción -p (prompt) del comando read:

[javier]$ read -p "¿edad del capitán? " edad 
¿edad del capitán? 12  
[javier]$ echo $edad 
12 

Este comando se utiliza generalmente en los scripts interactivos; veamos un ejemplo de programa que pide la intervención del usuario:

[javier]$ cat prog.sh 
#!/bin/bash 
# Se pide al usuario que escriba un nombre de archivo ...
Si desea saber más, le proponemos el siguiente libro:
couv_RIT7BLIN.png
60-signet.svg
Versión impresa
20-ecran_lettre.svg
Versión online
41-logo_abonnement.svg
En ilimitado con la suscripción ENI
130-boutique.svg
En la tienda oficial de ENI
Anterior
Operaciones aritméticas
Siguiente
Estructuras de control