Comando 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
read -p "escriba un nombre ...