Programmazione.it
Finestre di dialogo in bash
Scritto da Cosmos Puglisi il 30-12-2009 ore 11:52
Intel Parallel Advisor 2011
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
Copyright Programmazione.it® 1999-2005. Tutti i diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002.