Grupo Linuxero del Bajío

GUI para shell scripts

Raul Vazquez Castillo

En ocasiones queremos automatizar cosas demasiado simples, que con unsimple shell script basta, pero generalmente pensamos que no pueden tener unGUI, obviamente no es asi, para eso contamos con el comando dialog, elcual podemos llamar desde nuestro script y hacer maravillas con el, ya quecuenta con una serie de widgets como checklist, fselect, gauge, infobox,inputbox, inputmenu, menu, msgbox, password, radiolist, tailbox, tailboxbg,textbox, timebox, etc. bueno creo dandole un man dialog podran obtener toda la serie de widgets que maneja…

Viendo como quedan estas interfaces recuerdo mucho las primeras instalaciones en modo texto con linux.

Bueno creo es bueno contarlo pero mas provechoso siento es ver estepequeño ejemplito.

#!/bin/shTMPFILE=/tmp/_MITMP_temph=`date | cut -c12-13`dat=`date +"%A %d de %B de %Y (%r)"`if [ $temph -lt 12 ]then    mess="Buenos Dias $LOGNAME, Feliz Dia!"fiif [ $temph -gt 12 -a $temph -le 19 ]then    mess="Buenas Tardes $LOGNAME"fiif [ $temph -gt 19 -a $temph -le 24 ]then    mess="Buenas Noches $LOGNAME"fiif which dialog > /dev/nullthen    dialog --backtitle "Ejemplo comando dialog"    --title "(-: Bienvenido a Linux :-)"    --infobox "n$messnFecha $dat" 6 60    tput cup 24 10    echo -n -e "33[5m                             Presiona cualquier tecla . . .                       "    read    echo -e -n "33[0m "    clearelse    echo -e "$messnFecha $dat"fiwhile truedo files=`ls -l|grep -v tot|sed "s/([^ ]*) .* (.*)/2 1/"` if dialog --menu "`pwd`" 24 70 16 .. "" $files 2>$TMPFILE then : else   if dialog --yesno "Estás seguro de que quieres salir?" 0 0     then rm $TMPFILE;exit   fi fi if [ -d `cat $TMPFILE` ]    then cd `cat $TMPFILE`    else dialog --msgbox "`cat $TMPFILE` no es un directorio" 0 0 fi done

Espero les sea de utilidad… y por ahi nos vemos en la proxima junta.