Google
Web dns.bdat.net
next up previous contents
Next: Evaluación de expresiones: test Up: Programas de shell Previous: Selección de la shell   Índice General

Lectura desde la entrada estándar: read

La orden read permite leer valores desde la entrada estándar y asignarlos a variables de shell.

La forma más simple de leer una variable es la siguiente:

read variable

Después de esto, el programa quedará esperando hasta que se le proporcione una cadena de caracteres terminada por un salto de línea. El valor que se le asigna a variable es esta cadena (sin el salto de línea final).

La instrucción read también puede leer simultáneamente varias variables:

read varl var2 var3 var4

La cadena suministrada por el usuario empieza por el primer carácter tecleado hasta el salto de línea final. Esta línea se supone dividida en campos por el separador de campos definido por la variable de shell IFS (Internal Field Separator) que de forma predeterminada es una secuencia de espacios y tabuladores.

El primer campo tecleado por el usuario será asignado a var1, el segundo a var2, etc. Si el número de campos es mayor que el de variables, entonces la última variable contiene los campos que sobran. Si por el contrario el número de campos es mayor que el de variables las variables que sobran tendrán un valor nulo.

La segunda característica es la posibilidad incluir un mensaje informativo previo a la lectura. Si en la primera variable de esta instrucción aparece un carácter "?". todo lo que quede hasta el final de este primer argumento de read, se considerará el mensaje que se quiere enviar a la salida estándar.

Ejemplo:

read nombre?"Nombre y dos apellidos? " apl ap2

next up previous contents
Next: Evaluación de expresiones: test Up: Programas de shell Previous: Selección de la shell   Índice General
Pedro Pablo 2001-12-14