Ho scoperto ora zenity, un ottimo comando che permette di creare un interfaccia grafica per script bash. Stupendo, però mi impallo un po con la sintassi:

Questo è il solito sirm scritto normalmente per bash:

codice:
#!/bin/bash

###############################################
#                                             #
# SIRM2 Script Install & Remove Manager 2.2   #
#                                             #
###############################################

#Crea le cartelle necessarie allo script se non esistono (thanks to vortex87)
[ -d "$HOME/backup" ] || mkdir $HOME/backup
[ -d "$HOME/script" ] || mkdir $HOME/script

# Verifica che l'utente abbia permessi di root

ROOT_UID=0 

if [ "$UID" != "$ROOT_UID" ]
 then
 echo "Devi essere root per eseguire questo script."
 exit
fi  

#Qui sotto le funzioni di sirm2

usage () {
echo "Questo è l'help di sirm2:
Una volta avviato, segui le istruzioni per eseguire le operzioni richieste"
exit 1
}

#Qui sotto l'utilizzo delle funzioni
while [[ "$1" != "" ]]; do
case "$1" in
"-h" ) usage ;;
"--help" ) usage ;;
esac
shift
done

#Qui sotto sirm e le sue utilità

echo "SIRM 2.0. Script Install & Remove Manager versione 2.0.3"
echo "Cosa vuoi fare?"
echo "1) Installare uno script (deve essre in $HOME/script/)"
echo "2) Rimouvere uno script"
echo "3) Fare il backup di uno script in $HOME/backup/ "
echo "4) Ripristinare uno script salvato in $HOME/backup/ "
echo "5) Apri uno sript nella cartella $HOME/script/ con un editor di testo"
echo "6) Uscire"
echo "Digita il numero corrispondente all'operazione"
read scelta
case $scelta in
1)
   echo "Digita il nome dello script da installare"
   read elencosript
      chmod +x $HOME/script/$elencosript
      cp $HOME/script/$elencosript /usr/local/bin/
      echo "Installati gli script sul tuo computer"
      echo "Ora puoi avviarli digitandone il relativo nome (script1, script2 ecc)" 
   ;;
2)
   echo "Digita il nome dello script da rimuovere"
   read elencosript
      rm  /usr/local/bin/$elencosript
      echo "Rimossi gli script sul tuo computer"
      echo "Fine"  
   ;;
3)
   echo "Digita il nome dello script (che deve essere in $HOME/script/ )"
   read miofile
   cp $HOME/script/$miofile $HOME/backup/
   echo "Script salvato"
   ;;
4) 
   echo "Digita il nome dello script di backup che vuoi ripristinare"
   read script
   cp $HOME/backup/$script /usr/local/bin/
   echo "Script ripristinato"
   ;;
5)
   echo "Digita il nome dello script che vuoi aprire"
   read script
   echo "Ora digita il nome del tuo editor di testo predefinito (per esempio nano, gedit, kwrite)"
   read editor
   if [[ $editor == "" ]]
     then
       nano $HOME/script/$script
   exit
   fi
 $editor $HOME/script/$script &
exit
;;
6)
   echo "Ciao"
   exit
   ;;
*)
   echo "input non valido"
esac
e fin qui tutto ok, ora ecco come sto provando a trasformarlo per passare tutti i comandi a zenity:

codice:
#!/bin/bash

scelta=""

function scelta(){
    scelta=$(zenity --width=500 --entry --text "
SIRM 2.0. Script Install & Remove Manager versione 2.0.3
Cosa vuoi fare?
1) Installare uno script (deve essre in $HOME/script/)
2) Rimouvere uno script
3) Fare il backup di uno script in $HOME/backup/ 
4) Ripristinare uno script salvato in $HOME/backup/
5) Apri uno sript nella cartella $HOME/script/ con un editor di testo
6) Uscire
Digita il numero corrispondente all'operazione
" --title "Sirm2 GUI"
)
    return
}

function installa(){
   installa=$(zenity --width=500 --entry --text "
Digita il nome dello script da installare 
" --title "Scelta script")

   return
}


scelta

if [[ $(echo $scelta | grep "1") ]]; 
then
installa ;
fi
il problema è che non mi viene in mente come far fare a zenity gli altri comandi dopo la scelta del nome dello script da installare. Qualcuno mi sa aiutare?