Ejemplos dialog
Cuando se necesita algo mejor para correr scripts en consola es bueno usar DIALOG
ejemplos:
crear menu:
dialog --backtitle "Consola Administrativa" --nocancel --menu "Elija una opcion" 15 40 7 1 backup 2 "asegurar sitio" 3 Restore 4 Acceso 5 estado 6 salir 2
usar simpre el parametro = ” –stdout ” para poder tomar el retorno.
esto se vera asi:

el retorno de este menu se puede tomar asi:
DATA=´dialog --backtitle "Consola Administrativa" --nocancel --menu "Elija una opcion" 15 40 7 1 backup 2 "asegurar sitio" 3 Restore 4 Acceso 5 estado 6 salir 2´
echo $DATA;
———————————————————————————————–
#!/bin/bash
DATA=´dialog --backtitle "Consola Administrativa" --nocancel --menu "Elija una opcion" 15 40 7 1 backup 2 "asegurar sitio" 3 Restore 4 Acceso 5 estado 6 salir 2´
echo $DATA ;
nota: DATA lleva el valor del menu y la variable $? lleva 0 o 1 si aceptas o cancelas.
———————————————————————————————–
cajas de mensajes

dialog --title 'Advertencia' --backtitle "Consola Administrativa" --stdout --yesno "n n crear BACKUP del sitio n ¿esta seguro?" 14 40
retorno:
if [ $? -ne 0 ]; then # variable $? lleva el valor de retorno 1 para SI y 0 para NO
iniciarbackup;
else
salirbackup;
fi
—————————————————————————————————
Mensajes

dialog --msgbox "Operacion terminada" 5 30
simple. se acepta y continua la ejecucion.
————————————————————————————————–
Gauges

dialog --gauge "Total completado" 6 30 20
recuerda que se debe refrescar para cambiar el valor.
#!/bin/bash
for var in 0 10 30 50 70 80 90 ;
do sleep 1; echo $var; done | dialog --gauge "Total completado" 6 30 0
————————————————————————————————————————–
Archivos

FILE=`$DIALOG --stdout --backtitle "Consola Administrativa" --title "Seleccione un archivo de backup" --fselect "$HOME/backup/" 15 100`
—
if [ $? = 1 ]; then
iniciarbackup
fi
echo $FILE; # path completo del archivo seleccionado.
——————————————————————————–
crear backup
#!/bin/bash
hora=$(date +"%H-%M-%S")
fecha=$(date +%d_%m_%Y)
backup=$fecha-$hora
tar cf $backup.tar * # crea backup
tar cf $backup.tar * --exclude /carpeta-a-excluir # crear backup con exclusion de una carpeta.
———
fin.
saludos.