10.07.2015 Views

Manual - Grupo de Geomorfología, Hidrogeología y Medio Ambiente

Manual - Grupo de Geomorfología, Hidrogeología y Medio Ambiente

Manual - Grupo de Geomorfología, Hidrogeología y Medio Ambiente

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Escritura <strong>de</strong> scripts <strong>de</strong> shellhttp://www.ant.org.ar/cursos/curso_intro/x1983.html6 <strong>de</strong> 6 07/09/2005 8:01[shrek@pantano:~]$ . miscriptUn script pue<strong>de</strong> <strong>de</strong>jar cosas sueltas antes <strong>de</strong> terminar si éste es finalizado bruscamente enviándole unaseñal <strong>de</strong> finalización [1] ya sea con la combinación <strong>de</strong> teclas Ctrl-C o con un kill -15. Para esto se<strong>de</strong>berán capturar estas señales para po<strong>de</strong>r hacer una limpieza, ya se <strong>de</strong> variables o archivos, antes <strong>de</strong>finalizar. La forma <strong>de</strong> hacerlo es con el uso <strong>de</strong>l comando trap; <strong>de</strong> esta forma se capturará la señal que sele envíe al script y se podrá ya sea ignorar la misma o ejecutar otro comando <strong>de</strong> limpieza. Para <strong>de</strong>mostraresto haremos un pequeño script que servirá <strong>de</strong> menú. La llamada al script <strong>de</strong>l menú podría estar en elarchivo .profile <strong>de</strong>l usuario o en el .bash_profile. Si lo que no queremos es que el usuario salga <strong>de</strong>lscript con usando la combinación <strong>de</strong> teclas Ctrl-C, lo que haremos es capturar la señal y hacer que seejecute nuevamente el script que se llamará simplemente menu.trap './menu' 2while :doecho 'a) Listado <strong>de</strong> archivos'echo 'b) Día y hora actual'echo 'c) Mes actual'echo 'Seleccione: 'read ELECCIONcase $ELECCION ina|A) ls;;b|B) date;;c|C) cal;;*) echo "No eligió ninguna opción valida";;esacdoneComo se ve al principio <strong>de</strong>l script se utiliza el comando trap que al captura la señal 2 (SIGINT) queproduce el Ctrl-C relanza el script. Al final <strong>de</strong>l script se ve que se llama nuevamente dado que alejecutarse el comando <strong>de</strong> cada elección se quiere que el menú siga funcionando. Practicar con estasconstrucciones será <strong>de</strong> gran ayuda para enten<strong>de</strong>r el proceso <strong>de</strong> construcción <strong>de</strong> script y los preparara parascript más complejos usando otros interpretes como el sed, awk y el lenguaje perl. Para mayorinformación respecto a la construcción <strong>de</strong> script, remitirse a las páginas <strong>de</strong> manual <strong>de</strong>l intérprete <strong>de</strong>comandos, en este caso man bash.Notas[1]Para saber el nombre y número <strong>de</strong> señales teclear kill -lAnterior Inicio SiguienteTareas y procesos Subir Programas <strong>de</strong> edición <strong>de</strong> consola

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!