GUI para shell scripts
Raul Vazquez CastilloEn 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.