Sto cercando di capire l'uso del exportcomando.
Ho provato a usare man export, ma non esiste un manuale per questo comando.
Qualcuno può aiutarmi per favore a capire l'uso di exportin UNIX?
Sto cercando di capire l'uso del exportcomando.
Ho provato a usare man export, ma non esiste un manuale per questo comando.
Qualcuno può aiutarmi per favore a capire l'uso di exportin UNIX?
Risposte:
Quando si esegue un programma, il programma figlio eredita le sue variabili di ambiente dal padre. Ad esempio, se $HOMEè impostato su /rootnel genitore, anche la $HOMEvariabile del bambino è impostata su /root.
Questo vale solo per le variabili di ambiente contrassegnate per l'esportazione. Se si imposta una variabile nella riga di comando come
$ FOO="bar"
Quella variabile non sarà visibile nei processi figlio. A meno che non lo esporti:
$ export FOO
Puoi combinare queste due affermazioni in una sola in bash (ma non in sh di vecchia scuola):
$ export FOO="bar"
Ecco un breve esempio che mostra la differenza tra variabili esportate e non esportate. Per capire cosa sta succedendo, sappi che sh -ccrea un processo shell figlio che eredita l'ambiente della shell genitore.
$ FOO=bar
$ sh -c 'echo $FOO'
$ export FOO
$ sh -c 'echo $FOO'
bar
Nota: per ottenere assistenza sui comandi integrati della shell, utilizzare help export. Gli incorporati della shell sono comandi che fanno parte della tua shell piuttosto che come eseguibili indipendenti /bin/ls.
Unix
I comandi env, set e printenv visualizzano tutte le variabili di ambiente e i loro valori. env e set sono anche usati per impostare variabili d'ambiente e sono spesso incorporati direttamente nella shell. printenv può anche essere usato per stampare una singola variabile dando quel nome di variabile come unico argomento al comando.
In Unix possono anche essere usati i seguenti comandi, ma spesso dipendono da una determinata shell.
export VARIABLE=value # for Bourne, bash, and related shells
setenv VARIABLE value # for csh and related shells
Si può avere uno sguardo a questo a
VARIABLE=value; export VARIABLEpiuttosto che assegnare ed esportare contemporaneamente. Il setcomando in C Shell è per le variabili della shell anziché per le variabili di ambiente; setenvè la controparte di export. Il setcomando nelle shell derivate da Bourne stampa tutte le variabili, non solo le variabili esportate (ambiente). Almeno storicamente, il envcomando è separato dalla shell (non un built-in), sebbene possa essere facilmente trasformato in un built-in. Imposta l'ambiente per un comando specifico, non la shell che lo esegue.
exportè un comando integrato della bashshell e di altre varianti della shell Bourne . Viene utilizzato per contrassegnare una variabile di shell per l'esportazione in processi figlio.