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
2 muestra un ejemplo de un comando read con diversas variables![]() |
| Figura 2 |


No hay comentarios.:
Publicar un comentario