Newsgroup: it.comp.os.linux.iniziare
Titolo: shell scripting

sto scrivendo un semplice script che prevede un'interfaccia grafica
(dialog per intenderci): come faccio a farmi ritornare (e eventualmente
salvare in una var) il valore del tag selezionato in un box di tipo menu?
dialog --menu 'scelta' 10 30 2 a scelta1 b scelta2
e nel momento in cui il comando e molto lungo come faccio ad andare a capo
senza che mi si generi un errore? e' possibile?
che differenza c'è tra chiamare uno script "prova" e "prova.sh"?
grazie in anticipo
stefano

 che differenza c'è tra chiamare uno script "prova" e "prova.sh"?
se ti riferisci all'esecuzione, Nessuna.
se ti riferisci alla tua memoria: Molta
michele
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG



mi spieghi meglio la questione della memoria?

On Mon, 28 Apr 2003 01:54:47 +0000, Mario Michele Macaluso wrote:

purtroppo in /usr/doc/dialog(eccetera)/ ho solo il changelog, readme e via
discorrendo... ma niente esempi :-(

 mi spieghi meglio la questione della memoria?
credo intendesse dire che a occhio riconosci subito i file di script da
quelli che non lo sono se usi l'estensione...
Davide

 mi spieghi meglio la questione della memoria?
LOL!
Ah, per favore, 
http://learn.to/quote
-- 
Sono un servitore del Fuoco Segreto, e reggo la fiamma di Anor.
A nulla ti servira' il fuoco oscuro, fiamma di Udun.
Torna nell'Ombra! Non puoi passare.

 Ah, per favore, 
http://learn.to/quote
buonissimo il consiglio per il quoting... o almeno penso si dica cosi'! ma
cosa significa LOL?!?
ciao stefano

 ma cosa significa LOL?!?
"Laugthing on Loud", piu` o meno, 'ridendo forte'.
-- 
Ikitt	*** mailserver: 
freemail.it
"Linux non pare reggere il confronto con windows: oltre a consumare molte 
piu` risorse di sistema, e` rigido nella pretesa di avere un tot numero di
cartelle nella radice" (da 
http://mondoweb.culturanuova.net/mondo_pc.php
)

 "Laugthing on Loud", piu` o meno, 'ridendo forte'.
ah! praticamente ouz mi stava prendendo per il culo! non so perche' ma
avevo questa sensazione! beh del resto sono stato proprio tonto lo
ammetto!
ciao a tutti stefano
ps. comunque nessuno mi ha ancora risposto alla domanda sui
valori di ritorno!

 valori di ritorno!
Vabbe' vediamo se riesco a scusarmi ;)
man dialog
/--menu (che significa cerca la stringa "--menu")
       --menu text height width menu-height [ tag item ] ...
	[...]
	When  dialog  exits,  the  tag  of  the chosen menu 
	entry will be printed on stderr.
------------------------->>>>>>>>^^^^^^ questa e' la chiave.
Quindi, ritornando al tuo esempio:
dialog --menu 'scelta' 10 30 2 a scelta1 b scelta2 2> valore
Avrai il tuo valore nel file di nome valore (scusa il gioco di parole)
Se lo vuoi in una variabile:
VALORE=$(dialog --menu 'scelta' 10 30 2 a scelta1 b scelta2 2>&1)
Ciao


 VALORE=$(dialog --menu 'scelta' 10 30 2 a scelta1 b scelta2 2>&1)
.............................................................^^^^^
giustissimo :-))!! lo script funziona ma mi devi spiegare a cosa si
riferiscono gli argomenti che passi alla fine del comando: io infatti davo
un comando del genere:
dialog --menu 'scelta' 10 30 2 a scelta1 b scelta2 > valore
(vedi primo post) e non mi funzionava niente!
ciao ouz!
grazie ancora
ps hai visto che razza di quoting adesso.... quasi da artista!!! :-)

 (vedi primo post) e non mi funzionava niente!
Servono a re-indirizzare lo stream 2 (stderr) sullo stream 1 (stdout).
Dimostrazione:
$ ls pippo > pluto
ls: pippo: No such file or directory
$ cat pluto
$
Il file pippo non esiste. Il comando ls pippo > pluto genera no output su
stdout ed un messaggio di stderr. Noi abbiamo reindirizzato stdout su pluto
e quindi pluto e` vuoto. Lo stream stderr va sul terminale e noi vediamo
il messaggio di errore.
$ ls pippo > pluto 2>&1
$ cat pluto
ls: pippo: No such file or directory
$ ls pippo 2> pluto     
$ cat pluto
ls: pippo: No such file or directory
$
Qui abbiamo re-indirizzato stderr su stdout (2>&1 e 2>), Il messaggio di
errore non va piu` al terminale ma nel file pluto.
$ touch pippo
$ ls pippo > pluto
$ cat pluto
pippo
$ ls pippo 2> pluto
pippo
$ cat pluto
$ ls pippo > pluto 2>&1
$ cat pluto
pippo
$ 
Ora il file pippo esiste. Il primo comando manda stdout su pluto. Il terzo
comando manda stdout e stderr su pluto. Il secondo comando manda solo stderr
su pluto (pluto e` vuoto e stdout - il risultato del comando - va sul
terminale).
Ciao,
-- 
       Roberto Divia`             Love at first sight is one of the greatest
       =============             labour-saving devices the world has ever seen.
Mailbox: C02110                 CERN-European Organization for Nuclear Research
E-mail: 
Robert...@cern.ch
           CH-1211 GENEVE 23, Switzerland

 ps hai visto che razza di quoting adesso.... quasi da artista!!! :-)
Perfetto ;)


 redirige lo standard error di comando sullo standard input
                                              ^^^^^^^^^^^^^^
output.
-- 
GHERdO, happy GNU/linux user.
 
http://www.cyberspace.org/~gherdo/

 output.
oops, grazie :)
