Questo articolo spiega le basi del comando di esportazione di Linux e mostra come impostare, visualizzare e manipolare le variabili env di Linux utilizzando il comando di esportazione.
Le variabili di ambiente in Linux vengono utilizzate dalla maggior parte delle attività che si svolgono su un sistema Linux. Dall'esecuzione di un comando standard come "ls" all'installazione di un nuovo software nella tua macchina Linux, ogni attività utilizza o altera l'elenco delle variabili di ambiente.
Definizione della variabile di ambiente:
È un oggetto denominato che può essere utilizzato da più applicazioni poiché contiene alcune informazioni preziose richieste da queste applicazioni
1. Visualizza tutte le variabili attualmente esportate
Usa export -p per visualizzare tutte le variabili env come mostrato di seguito. L'output parziale è mostrato qui.
$ export -p declare -x COLORTERM="gnome-terminal" declare -x DEFAULTS_PATH="/usr/share/gconf/gnome.default.path" declare -x DESKTOP_SESSION="gnome" declare -x HOME="/home/himanshu" declare -x LOGNAME="himanshu" declare -x MANDATORY_PATH="/usr/share/gconf/gnome.mandatory.path" declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" declare -x PWD="/home/himanshu" declare -x SHELL="/bin/bash" declare -x SSH_AGENT_PID="1663" declare -x USER="himanshu" declare -x USERNAME="himanshu" declare -x WINDOWID="56623107" ..
Nota che puoi anche vedere questo elenco usando il comando 'env'.
2. Visualizza una variabile esportata specifica
Utilizzare il comando echo per visualizzare una specifica variabile di ambiente. L'esempio seguente mostra il valore della variabile di ambiente PATH.
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Inoltre, fai riferimento a 15 utili comandi integrati di Bash Shell, che spiega alcuni altri comandi (ad es. env, unset, ecc.) che funzionano anche su variabili env.
3. Imposta una variabile d'ambiente
Puoi aggiungere una nuova variabile di ambiente come mostrato di seguito. Di seguito viene creata una nuova variabile di ambiente denominata "MYAPP" e assegna il valore di 1.
$ export MYAPP=1
Verificare che la variabile di ambiente sia impostata correttamente utilizzando il comando echo.
$ echo $MYAPP 1
Nota:non dare uno spazio prima e/o dopo =segno. Ad esempio, tutti i seguenti non sono validi.
$ export MYAPP = 1 -bash: export: `=': not a valid identifier -bash: export: `1': not a valid identifier $ export MYAPP =1 -bash: export: `=1': not a valid identifier $ export MYAPP= 1 -bash: export: `1': not a valid identifier
4. Aggiungi un valore a una variabile d'ambiente
Nell'esempio seguente proviamo ad aggiungere un nuovo percorso alla variabile PATH. Usa ':' per separare i valori.
$ export PATH=$PATH:/home/himanshu/practice/
Verifica che il valore sia stato aggiunto correttamente.
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/himanshu/practice/
5. Variabili senza esportazione
Assegna una variabile con un valore in una shell interattiva e prova ad accedere alla stessa nello script della tua shell.
$ MYAPP=1 $ cat myapp.sh #!/bin/bash echo "MYAPP=$MYAPP" MYAPP=2 echo "MYAPP=$MYAPP"
Ora, esegui lo script sopra come mostrato di seguito.
$ ./myapp.sh MYAPP= MYAPP=2
Tuttavia otterrai un valore vuoto per la variabile MYAPP. La shell memorizza la variabile MYAPP con LINUX solo nella shell corrente. Durante l'esecuzione di myapp.sh, genera la shell ed esegue lo script. Quindi la variabile MYAPP non avrà il valore nella shell generata. Devi esportare la variabile affinché venga ereditata da un altro programma, incluso uno script di shell.
Inoltre, fai riferimento al tutorial sulle variabili bash, che spiega l'ambito locale e globale delle variabili, la dichiarazione di una variabile bash e pochi altri esempi.
6. Esportazione permanente di variabili
Per esportare le variabili in modo permanente, puoi aggiungere il comando export in uno qualsiasi dei seguenti file di avvio :
~/.profile ~/.bash_profile /etc/profile
Potrebbero esserci alcune limitazioni come "~/.profile non viene letto da bash, se esiste ~/.bash_profile o ~/.bash_login.". Quindi dovresti leggere "/usr/share/doc/bash/examples/startup-files" per avere un'idea migliore di come funzionano questi file di avvio.
È anche importante comprendere la sequenza di esecuzione di .bash_profile, .bashrc, .bash_login, .profile e .bash_logout, che ti aiuterà a decidere quale file utilizzare per impostare la tua variabile di ambiente per la tua situazione specifica.