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

Re: bash e variabili globali



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


Reply to: