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:
[code=bash]dialog --checklist "SCEGLI:" 15 40 5
1 OPZIONE1 off
2 OPZIONE2 on
3 OPZIONE3 off
4 OPZIONE4 off[/code]
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:
[code=bash]#!/bin/bash
RES=`dialog --stdout --checklist "SCEGLI:" 15 40 5 1 OPZIONE1 off 2 OPZIONE2 on 3 OPZIONE3 off 4 OPZIONE4 off`
case $? in
0)
echo "HAI SCELTO : $RES" ;;
1)
echo "HAI PREMUTO CANCEL" ;;
255)
echo "Box closed" ;;
esac[/code]
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