Programmazione.it v6.2
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Chat Forum
Finestre di dialogo in bash
Scritto da Cosmos Puglisi il 30-12-2009 ore 11:52
Non è raro che semplici script bash possano stare stretti ai più; in questo caso delle semplici finestre visuali potrebbero arricchire non poco tool sviluppati su riga di comando. Un vecchio tool, dialog, permette di ottenere basilari finestre di dialogo di vari tipo (form, checklist, radio button e altro) in puro vecchio stile old UNIX.

Usare tale tool è semplice e per provarlo basta scrivere il comando che segue:
  1. dialog --checklist "SCEGLI:" 15 40 5 
  2. 1 OPZIONE1 off 
  3. 2 OPZIONE2 on 
  4. 3 OPZIONE3 off 
  5. 4 OPZIONE4 off
Ovviamente in questo modo si ottiene soltanto una finestra fine a se stessa. Per un risultato utile e quindi per ottenere l'interazione visuale con l'utente basta usare il ritorno della funzione come variabile e verificare la variabile d'uscita — $? — del tool per conoscere quale bottone è stato premuto. Ad esempio vediamo di seguito come sfruttare entrambe le opzioni:
  1. #!/bin/bash
  2.  
  3. RES=`dialog --stdout --checklist "SCEGLI:" 15 40 5 1 OPZIONE1 off 2 OPZIONE2 on 3 OPZIONE3 off 4 OPZIONE4 off`
  4.  
  5. case $? in
  6. 0)
  7.  echo "HAI SCELTO : $RES"   ;;
  8. 1)
  9.  echo "HAI PREMUTO CANCEL"  ;;
  10. 255)
  11.  echo "Box closed"   ;;
  12. esac
Se volete vedere un po' di esempi potete spulciare un articolo del blog UNIX BASH scripting o un tutorial su Linux Journal. Infine è sicuramente necessario uno sguardo approfondito al manuale
Precedente: REALbasic 2009, le novità della release 5
Successiva: Tecniche di web spamming per manipolare il ranking nei motori di ricerca (1/2)
Copyright Programmazione.it™ 1999-2009. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.8 secondi. Sito ottimizzato per Mozilla Firefox. Powered by Kyron.