[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bash e variabili globali



2010/9/19 Paolo Sala <piviul@riminilug.it>
Ennio Sr scrisse in data 18/09/2010 17:23:
> [...]
>
> var="questo valore invece NON viene sovrascritto da test"
> $test
> echo "chiamata 2b (dopo doll test):" $var
> $(test)
> echo "chiamata 2c (dopo doll(test)):" $var
>
È nello scoprire questo che ho sentito il bisogno di chiedere lumi
perché per me è stata una sorpresa questo comportamento. Da quel che ho
capito quando viene chiamata una funzione con $ viene creata una
subshell e quindi la funzione accede ad una copia delle variabili
d'ambiente ed ogni modifica effettuata a queste viene quindi persa. E mi
chiedevo: c'è un modo per fare si che chiamando una funzione in una
subshell acceda alle variabili d'ambiente e non ad una loro copia?
Oppure un modo per esportare dalla subshell le variabili d'ambiente alla
routine chiamante; qualcosa tipo $(test; export var)... che ovviamente
non funziona.

Grazie mille

Piviul




quando eseguo export pippo=paperino

$pippo me lo ritrovo anche nella subshell

questo può essere di aiuto?

esempio

$export pippo=paperino

poi

$xterm

e dentro xterm

$echo $pippo

ti ritorna paperino

Luca














--
---
Luca Cappelletti
http://developerinfodomestic.blogspot.com

"...Together we stand, divided we fall."

.O.
..O
OOO

Zeitgeist Activist

GTalk,MSN: luca <dot> cappelletti <at> gmail <dot> com
Linux Registered User: #223411
Ubuntu Registered User: #7221

"l'intelligenza è utile per la sopravvivenza se ci permette di estinguere una cattiva idea prima che la cattiva idea estingua noi"

"La chiave di ogni uomo è il suo pensiero. Benché egli possa apparire saldo e autonomo, ha un criterio cui obbedisce, che è l'idea in base alla quale classifica tutte le cose. Può essere cambiato solo mostrandogli una nuova idea che sovrasti la sua"

"Uno studioso è soltanto un modo in cui una biblioteca crea un’altra biblioteca "

Reply to: