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:
e fin qui tutto ok, ora ecco come sto provando a trasformarlo per passare tutti i comandi a zenity: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
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?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

Rispondi quotando