You are on page 1of 6

Escuela de Informtica y Telecomunicaciones

SEMANA N 8 NOMBRE EXPERIENCIA: Control del flujo en BASH UNIDAD DE APRENDIZAJE: Introduccin a los SCRIPTS
I. Objetivo

Que el alumno tenga una idea general de las posibilidades que BASH ofrece para la elaboracin y ejecucin de shell scripts y las potencialidades de los mismos en la resolucin de problemas prcticos.

II.

Conocimientos previos

El control del flujo es la manera que tiene un lenguaje de programacin (cualquiera) de provocar que el flujo de la ejecucin avance y se ramifique en funcin de los cambios de estado de los datos. Controlar el flujo es determinar el orden en el que se ejecutarn las instrucciones en nuestros programas. Si no existiesen las sentencias de control entonces los programas se ejecutaran bsicamente de manera secuencial, una instruccin tras otra. El BASH de GNU/LINUX soporta dos tipos de sentencias de CONTROL DEL FLUJO: SENTENCIAS CONDICIONALES, como por ejemplo: if-then,if-then-else y case, y SENTENCIAS ITERATIVAS, como por ejemplo: while, for, until.

III.

Requerimientos tcnicos

Para esta actividad basta con un PC con LINUX por alumno o en grupo de mximo dos alumnos por PC, opcionalmente acceso a Internet. IV. Desarrollo de la Actividad

La siguiente actividad est centrada en la profundizacin de los conceptos generales relativos a la elaboracin, ejecucin y depuracin de Shell scripts, as como de las posibles aplicaciones de estos a problemas relativos a usuarios y a la administracin del sistema. Ud. deber profundizar acerca de las principales caractersticas del intrprete de comandos BASH en el contexto de la realizacin de operaciones aritmticas bsicas y avanzadas sobre datos provenientes desde la entrada estndar o desde archivos. Tambin, y principalmente, en la profundizacin de los conceptos bsicos de Shell scripting, la codificacin y ejecucin de Shell scripts, la depuracin de los Shell scripts previamente codificados, as como la aplicacin de estos a problemas prcticos. Algunas de las preguntas y/o actividades planteadas pueden responderse con la documentacin ofrecida en el material terico de la asignatura, otras, sin embargo, requieren que Ud. Investigue, para esto ltimo ser usual que se le ofrezcan links a
1

Escuela de Informtica y Telecomunicaciones

pginas web, esquemas o dibujos, diagramas, tablas, documentacin complementaria, etc.

Shell scripts 1.Escriba un script Shell que despus de ejecutarse permita que cada 90 minutos se presente en pantalla el mensaje "Hacer tareas" (indic.: usar while true, sleep, 90 minutos equivalen a 540 segundos y ejecutar el script en segundo plano).
#!/bin/bash while true do echo e Hacer tareas\n sleep 540 done Suponiendo que Ud. dio el nombre de mensaje al script, debera ejecutarse como $./mensaje&

2.-

Escriba un script Shell que despus de ejecutarse permita verificar cada 30 segundos si existe en el directorio actual un archivo llamado prueba.txt (indic.: para probar este script es necesario ejecutarlo en segundo plano)

3.-

Escriba un script Shell que despus de ejecutarse permita pedir al usuario un nombre de archivo, luego presente en pantalla el contenido del archivo (usar cat o more) si este es un archivo regular (u ordinario), y si el archivo en cuestin es un directorio, el listado del mismo (usar ls). Informar en pantalla si es que el archivo no se corresponde con un archivo regular o directorio.
2

Escuela de Informtica y Telecomunicaciones

#!/bin/bash clear echo e Ingrese el nombre de un archivo: \c read arch if test f $arch then more $arch else if test d $arch then ls l $arch else echo e $arch no es archivo ni directorio\n fi fi

4.-

Escriba un script Shell que despus de ejecutarse permita pedir al usuario un nombre de archivo, luego presente en pantalla si el archivo en cuestin existe y es ejecutable.

5.-

Escriba un script Shell que despus de ejecutarse permita visualizar en pantalla un men de tres opciones, la primera opcin para borrar un archivo ledo desde teclado, la segunda opcin para visualizar un archivo tambin ledo desde teclado y la tercera opcin para terminar la ejecucin del programa.

Escuela de Informtica y Telecomunicaciones

6.-

Escriba un script Shell que despus de ejecutarse permita pedir al usuario un nombre de archivo valido (es decir, un archivo ya existente) y un nombre de directorio valido. Luego el script debe permitir copiar el archivo en el directorio especificado.

7.-

Escriba un script Shell que despus de ejecutarse permita desplegar en pantalla un men usando la sentencia select y que posibilite la ejecucin del escritorio (KDE o GNOME) que el usuario desee.

Escuela de Informtica y Telecomunicaciones

La siguiente actividad requiere que Ud. elabore y pruebe el script que a continuacin se le pide, una vez terminado y probado documntelo en su cuaderno y pdale a su profesor que lo revise. 7.Escriba un script Shell que despus de ejecutarse presente en pantalla un men y opciones de men adecuadas que permitan simular una agenda telefnica, como tal, el script deber permitir gestionar una libreta de direcciones (Agenda) y se debern implementar las siguientes funcionalidades: aadir registros o datos a la agenda, buscar registros o datos en la agenda, borrar registros o datos de la agenda, y por ltimo, se deber permitir la edicin/modificacin de los registros o datos de la agenda.

Escuela de Informtica y Telecomunicaciones

Existen una buena cantidad de sitios desde donde Ud. puede obtener informacin acerca de la programacin en BASH, a modo de ejemplo, puede consultar: http://es.tldp.org/COMO-INSFLUG/COMOs/Bash-Prog-Intro-COMO/Bash-Prog-IntroCOMO.html http://www.tldp.org/LDP/abs/html/index.html http://www.gentoo.org/doc/es/articles/bash-by-example-p1.xml http://doc.gulo.org/docu/bashavanzado.pdf

V.

Resumen Con esta experiencia aprendiste a elaborar y ejecutar Shell scripts bsicos. Aplicaste los Shell scripts en la resolucin de problemas prcticos de usuarios y relativos a la administracin del sistema.

You might also like