Newsgroup: it.comp.os.linux.iniziare
Titolo: Problema export variabile

ciao ragazzi, scusate ma ho un problema molto stupido da porvi...
devo costruire uno script che mi esporti una variabile; non voglio
metterlo nel profilo globale o nel file del profilo dell'utente ma che sia
esportata nella shell solo quando viene eseguito lo script.
Il file contiene la semplice riga:
export VARIABILE=valore
Il problema è che quando lo script finisce e torno nella stessa shell di
partenza non è stata settata la variabile?!?
Non so se può essere di aiuto ma la distribuzione che uso è una Ubuntu
ed una Gentoo.
Grazie, hocram

 partenza non č stata settata la variabile?!?
č giusto che sia cosi'.
la variabile viene settata dopo la fork nel processo figlio,
quando si torna al padre il figlio muore con le sue variabili
ma che tipo di script č?
vuoi crearti una specie di .profile per una sola shell?
allora ti basta eseguirlo tramite "source nomefile" invece di ./nomefile
Red

 ma che tipo di script è?
Il problema è che ho installato su entrambe le distribuzioni JAVA SDK
1.4; ora mi servirebbe mettere anche la versione 1.5 per fare delle
prove di compilazione (devono convivere entrambe per alcuni test). 
Il fatto è che per default utilizzo le 1.4 mentre per delle compilazioni
voglio utilizzare la 1.5. Ho pensato di fare una cosa veloce aprendo una
shell ed avviare uno script che mi cambi il PATH temporaneamente (finché
la sono nella shell) per compilare le classi.
file script: 
export PATH=/usr/lib/j2sdk1.5-sun/bin:$PATH
echo $PATH
Alla fine dello script, quando ritorno alla scell, all'avvio del comando
java -version
mi dà ancora la versione precedente!?!
Ora vorrei capire soltanto in cosa sbaglio nell'esportare la variabile...
Grazie per la veloce risposta.

 partenza non è stata settata la variabile?!?
Mettiamo tu faccia l'esport in pippo.sh. Puoi fare due chiamate diverse allo
script:
$ ./pippo.sh
$ . pippo.sh
Nel primo caso (probabilmente quello che hai provato tu) si crea un nuovo
processo che esegue l'export, poi il processo muore e il controllo ritorna
al processo padre (lo shell). Le variabili del processo figlio vengono perse
(in Unix si esporta di padre in figlio e mai al contrario).
Nel secondo caso (quello che vuoi fare tu) pippo.sh viene interpretato dal
processo corrente (lo shell) e le definizioni restano.
Ciao,
-- 
        Roberto Divia`              Love at first sight is one of the greatest
Dep:PH Bat:53 Mailbox:C02110      labour-saving devices the world has ever seen
Route de Meyrin 385               ---------------------------------------------
Case Postale                                Phone:  
+41-22-767-4994
CH-1211 Geneve 23 CERN                      Fax:    
+41-22-767-9585
Switzerland                                 E-Mail: 
Robert...@cern.ch

 Ciao
Grazie tante... ora ho capito su cosa probabilmente sbagliavo!
ciao, hocram

 Ora vorrei capire soltanto in cosa sbaglio nell'esportare la variabile...
te l'ho spiegato perfettamente, ma hai letto quello che ho scritto?
hai provato a fare quello che ho scritto?
evidentemente no.
devi usare SOURCE (o, equivalentemente . ),ok?
Red

 devi usare SOURCE (o, equivalentemente . ),ok?
Si grazie, ho provato ed ora funziona tutto!!!
grazie tante!
hocram