martes, 30 de octubre de 2012

5.3 Entrada interactiva


Para hacer más flexible y amigable con el usuario un script de shell, el alumno puede colocar una pausa en el script y hacer que pida una única línea de entrada. Esto se logra por medio del comando echo para pedir al alumno una entrada y el comando read para hacer una pausa y recibir entradas desde el teclado. Cualquier cosa que introduzca el alumno se almacena en el nombre de variable especificado después del comando read. La entrada interactiva es una funcionalidad muy potente de los scripts de shell.
El comando echo puede utilizarse en conjunción con un carácter de escape para posicionar el cursor. Por ejemplo, \c posiciona el cursor al final de la línea en lugar de en la línea siguiente. echo también acepta otros caracteres de escape tales como:
    
     \t - inserta una tabulación

     \n - inserta una nueva línea

La Figura 1 muestra un ejemplo de un archivo script llamado grepfor.sh que pide un patrón de búsqueda y un archivo que buscar. El patrón de búsqueda introducido por el usuario es leído por el shell y se convierte en el valor de la variable pattern (patrón). De igual manera, el nombre de archivo introducido por el usuario es leído por el shell y se convierte en el valor de la variable filename (nombre de archivo). En el ejemplo, la raíz es el patrón a buscar y /etc/passwd es el archivo buscado.

Figura 1



Nota: para utilizar los caracteres de escape con el shell Bash el alumno debe utilizar echo -e. Por ejemplo, echo -e "Enter the pattern to search for: \c" ("Introducir el patrón a buscar: \c").



Si se especifica una única variable después del comando read, dicha variable contendrá la línea completa que introdujo el usuario. Si se especifican varias variables después del comando read, cada variable contendrá una única palabra como entrada del usuario. La Figura 2  muestra un ejemplo de un comando read con diversas variables


Figura 2

No hay comentarios.:

Publicar un comentario