Pagina 1 di 1
[bash] esportare variabile da uno script [risolto]
Inviato: gio 21 mag 2009, 23:26
da sya54M
salve, siccome export, se usato in uno script, può esportare le variabili solo ai processi a lui figli, come posso fare per usare una variabile generata da uno script in un altro script che non è figlio del primo?
si può fare qualcosa?
grazie mille
Re: [bash] esportare variabile da uno script
Inviato: ven 22 mag 2009, 8:20
da enzo.bak
Puoi farla salvare su file, dal quale la leggerà l'altro script.
Sicuramente ci sono modi più eleganti, ma questo mi pare il più semplice.
Re: [bash] esportare variabile da uno script
Inviato: ven 22 mag 2009, 10:35
da conraid
sya54M ha scritto:salve, siccome export, se usato in uno script, può esportare le variabili solo ai processi a lui figli, come posso fare per usare una variabile generata da uno script in un altro script che non è figlio del primo?
si può fare qualcosa?
grazie mille
Se gliela passi?
e poi in nomescript hai
un po' come faresti in una applicazione php tramite get e post insomma

Re: [bash] esportare variabile da uno script
Inviato: ven 22 mag 2009, 10:50
da Paoletta
conraid ha scritto:sya54M ha scritto:salve, siccome export, se usato in uno script, può esportare le variabili solo ai processi a lui figli, come posso fare per usare una variabile generata da uno script in un altro script che non è figlio del primo?
si può fare qualcosa?
grazie mille
Se gliela passi?
e poi in nomescript hai
un po' come faresti in una applicazione php tramite get e post insomma

per fare quello che dici c'è bisogno che avvi i due script dalla medesima shell, cosa che ti puoi risparmiare con la soluzione del file; dipende da quel che deve fare sya54M
Re: [bash] esportare variabile da uno script
Inviato: ven 22 mag 2009, 11:21
da sya54M
conraid ha scritto:Se gliela passi?
nomescript pippo
e poi in nomescript hai
VAR=$1
un po' come faresti in una applicazione php tramite get e post insomma
no perchè la variabile viene creata dal primo script, non è costante e il secondo non lo avvio manualmente.
Paoletta ha scritto:per fare quello che dici c'è bisogno che avvi i due script dalla medesima shell
e infatti questo era il problema.
se non ci sono altre soluzioni credo che farò come ha sugerito enzo.bak
grazie delle risposte
Re: [bash] esportare variabile da uno script
Inviato: ven 22 mag 2009, 11:38
da Paoletta
immagino che l'unica alternativa sia proprio quella del file; del resto per avere i valori delle variabili settati sempre allo stesso modo ad ogni avvio di shell sono previsti i files tipo .bash_profile e simili
Re: [bash] esportare variabile da uno script
Inviato: ven 22 mag 2009, 16:43
da urka58
Credo che l'uso di "source" possa fare al caso tuo. Tipo
Da verificare con uno script meno banale, ovviamente, sempre che abbia capito il tuo intento...
Ciao
Re: [bash] esportare variabile da uno script
Inviato: dom 24 mag 2009, 11:19
da sya54M
@urka58: se in questo modo include solo le variabili del primo script e non comporta altro e se io ho immaginato bene quello che fa allora credo che hai azzeccato
Re: [bash] esportare variabile da uno script
Inviato: dom 24 mag 2009, 11:48
da urka58
sya54M ha scritto:@urka58: se in questo modo include solo le variabili del primo script e non comporta altro e se io ho immaginato bene quello che fa allora credo che hai azzeccato
Esegue tutti i comandi inclusi nello script, non so se per il tuo scopo sia un bene o un male. Per superare l'ostacolo puoi creare un file di sole definizioni delle variabili che vengono richiamate tramite il "source" di tale file negli script che le utilizzano. L'eventuale file deve essere nel PATH dell'utente che lancia lo script/s. (o usi il percorso completo).
In questo caso la soluzione non è molto diversa da quella già proposta di un file su cui vengono scritte le variabili. che costringe comunque ad eseguire il primo script. Con il "source" del file contenente la definizione delle variabili. esegui solo lo script che ti serve per l'occasione.
Ciao
Re: [bash] esportare variabile da uno script
Inviato: dom 24 mag 2009, 17:28
da sya54M
beh, anche questa è una soluzione allora, se definisco le variabili in un terzo script, perchè se esegue tutto il primo script per me è un male. però quando dovrei avere un terzo script non so quanto convenga rispetto a far creare un file in /tmp...
grazie per entrambe le soluzioni

, vedrò quale mi piace di più