Comincio a vedere l'uscita... se qualcuno mi d� una spinta forse ci arrivo!
Dapprima ho provato a sostituire whiptail con dialog, cos� tanto per vedere se le cose fossero migliorate, ed ho sostituito anche la radiolist con un semplice men�: #!/bin/sh dialog --title "Titolo" --menu "scegline uno" 20 70 10 "A" "Descrizione A" "B" "Descrizione B" Lo script fatto cos� funziona, ma fin qui funzionava gi� prima. Ancora non riesco a mettere in una variabile il tag che dialog mi restituisce. Poi, da programmatore un po' vecchio stile quale sono, ho pensato al tipico workaround sporco e brutto da vedersi, ma che nella mia testa poteva funzionare, ovvero redirigere lo standard output di dialog su di un file temporaneo: #!/bin/sh dialog --title "Titolo" --menu "scegline uno" 20 70 10 "A" "Descrizione A" "B" "Descrizione B" > tag.tmp Bum! Non funziona pi�. Di nuovo dialog non visualizza nulla sullo schermo anche se in effetti viene eseguito. Ecco che mi si � accesa la lampadina: ma vuoi vedere che la bash, per implementare la funzionalit� di TAG=`comando` non fa altro che redirigere lo standard output di "comando" e magari anche lo stderr? E vuoi vedere che dialog e whiptail non fanno altro che usare lo standard output (o error) con sequenze di escape per "disegnare" la finestra di dialogo? O forse � ncurses che fa questo? Per�, se cos� fosse, dovrei trovare un bel po' di spazzatura in tag.tmp, invece no. Il file resta vuoto. Ma siamo sicuri che � vuoto solo perch� "cat tag.tmp" non mostra nulla? Proviamo con hexdump. Tada! Ecco la tanta bella spazzatura che volevamo vedere. � solo che inizia con un bell'EOF, quindi cat non mostra nulla. Dunque ho capito l'arcano, ma resta il problema. Come separo la spazzatura dall'output interessante, ovvero come faccio a permettere a dialog (o whiptail) di disegnare le sue sequenze di escape sul video ma redirigere la parte che mi interessa? man dialog. Che belle opzioni, proviamo con "--stdout". Cos� funziona. Ma, ahim�, funziona perch� in questo modo ncurses scrive su stderr, il che � sconsigliato sulla pagina di manuale di dialog proprio dove parla di quell'opzione. Vorrei fare esattamente il contrario (ovvero vorrei il comportamento di default che � quello corretto), ma senza usare files temporanei che escono dalla tomba di Turing... Cio�: dialog ... 2> tag.tmp TAG=`cat tag.tmp` funziona, ma non mi piace. Vorrei TAG=`dialog ...` dove per� a TAG viene assegnato ci� che arriva su stderr, mentre stdout viene lasciato stare verso il video. C'� un modo di dirlo a bash? -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

