====== Introduzione a Dialog ====== Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **//01/08/2014 - 09:20//** \\ \\ [[http://invisible-island.net/dialog/|Dialog]] รจ uno strumento per la realizzazione di interfacce grafiche di tipo testuale (come ncurses) per gli script bash. E' praticamente disponibile nei repository di ogni distribuzione Linux. ===== Principio generale di funzionamento ===== Dialog posside numerosi widget come si puo' notare dalla pagina del manuale (''man dialog'' o ''dialog --help'') qui di seguito vedremo il principio generale di funzionamento comune a tutti i widget. Ogni widget ha la capacita di accettare dati in input(stringhe, numeri date etc...), mostrare un output e restituire uno stato di uscita. Nell'esempio base seguente vedremo come effettuare queste operazioni. {{:programmazione:bash:dialog-inputbox0.png?300|}} {{:programmazione:bash:dialog-inputbox1.png?300|}} #!/bin/bash #inputbox che mette il contenuto nel file "/tmp/val.txt" dialog --backtitle 'Wizard' --title 'Message' --inputbox 'Hello, world!' 15 25 2>/tmp/val.txt #Prelevo il valore di ritorno di dialog relativo ai pulsanti pressati retval=$? case $retval in 0) #ha pressato OK VAL=$(cat /tmp/val.txt); dialog --backtitle 'Wizard' --title 'Message' --msgbox "Hai scritto: $VAL" 15 25 ;; 1) #ha pressato annulla echo "Cancel pressed.";; 255) #ha pigiato ESC dalla tastiera echo "ESC pressed.";; esac