Come amministratore di sistema, probabilmente sai quanto sono importanti le variabili d’ambiente in Bash.
Le variabili d’ambiente sono usate per definire variabili che hanno un impatto su come i programmi vengono eseguiti.
In Bash, le variabili d’ambiente definiscono molte cose diverse: l’editor predefinito, il tuo nome utente attuale o il fuso orario corrente.
Più importante, le variabili d’ambiente possono essere usate negli script Bash per modificare il comportamento dei vostri script.
In questo tutorial, vedremo come è possibile impostare facilmente le variabili d’ambiente in Bash.
Tabella dei contenuti
Impostare le variabili d’ambiente in Bash
Il modo più semplice per impostare le variabili d’ambiente in Bash è usare la parola chiave “export” seguita dal nome della variabile, un segno uguale e il valore da assegnare alla variabile d’ambiente.
Per esempio, per assegnare il valore “abc” alla variabile “VAR”, si dovrebbe scrivere il seguente comando
$ export VAR=abc
Se si vogliono avere spazi nel valore, come “my value” o “Linus Torvalds”, si dovrà racchiudere il valore tra doppi apici.
$ export VAR="my value"$ export VAR="Linus Torvalds"
Per visualizzare la vostra variabile d’ambiente, dovete far precedere la variabile da un segno di dollaro.
$ echo $VARLinus Torvalds
Allo stesso modo, potete usare il comando “printenv” per stampare il valore della vostra variabile d’ambiente.
Questa volta, non dovete farlo precedere dal segno del dollaro.
$ printenv VARLinus Torvalds
Impostare le variabili usando l’interpolazione di Bash
In alcuni casi, potreste aver bisogno di impostare una specifica variabile d’ambiente al risultato di un comando sul vostro server.
Per ottenere ciò, avrete bisogno dell’interpolazione di Bash, chiamata anche sostituzione di parametri.
Diciamo per esempio che volete memorizzare il valore della vostra istanza di shell corrente in una variabile chiamata MYSHELL.
Per impostare una variabile d’ambiente usando la sostituzione dei parametri, usate la parola chiave “export” e fate in modo che il comando sia racchiuso in una parentesi di chiusura preceduta dal segno del dollaro.
$ export VAR=$(<bash command>)
Per esempio, dato il nostro esempio precedente, se volete avere la variabile d’ambiente “SHELL” in una nuova variabile chiamata “MYSHELL”, si dovrebbe scrivere
$ export MYSHELL=$(echo $SHELL)
Congratulazioni, avete creato con successo la vostra prima variabile d’ambiente in Bash!
Impostare variabili d’ambiente permanenti in Bash
Quando si assegna un valore a una variabile usando “export” in una shell, le modifiche non vengono mantenute al riavvio o in altre shell.
Per impostare una variabile d’ambiente permanente in Bash, devi usare il comando export e aggiungerla o al tuo file “.bashrc” (se questa variabile è solo per te) o al file /etc/environment se vuoi che tutti gli utenti abbiano questa variabile d’ambiente.
$ nano /home/user/.bashrc# Content of the .bashrc fileexport VAR="My permanent variable"
Perché le modifiche siano applicate alla vostra sessione corrente, dovrete creare il vostro file .bashrc.
$ source .bashrc
Ora, potete controllare il valore della vostra variabile d’ambiente in ogni shell che volete.
$ printenv VAR
Questa variabile sarà creata su ogni istanza di shell per l’utente corrente.
Tuttavia, se la aggiungete al file “/etc/environment”, la variabile d’ambiente sarà impostata per tutti gli utenti del vostro sistema.
$ nano /etc/environment# Content of the environment fileexport GLOBAL="This is a global variable"
Dopo aver estratto il file, le variabili d’ambiente saranno impostate per ogni utente sul vostro host.
$ source /etc/environment$ echo $GLOBAL
Fantastico, avete impostato con successo una variabile d’ambiente globale sul vostro server!
Conclusione
In questo tutorial, hai imparato come puoi facilmente impostare le variabili d’ambiente in Bash usando il comando export.
Hai anche imparato che i cambiamenti non sono resi permanenti finché non li aggiungi al tuo :
- .bashrc : se vuoi che la variabile sia solo per l’utente correntemente connesso;
- /etc/environment : se vuoi che la variabile sia condivisa da tutti gli utenti del sistema.
Se sei interessato all’amministrazione del sistema Linux, o a Bash, abbiamo una sezione completa dedicata ad esso sul sito web, quindi assicurati di darci un’occhiata!