Introduzione
Ogni volta che avvii una sessione di shell in Linux, il sistema esamina i file di configurazione e configura l'ambiente di conseguenza. Le variabili ambientali svolgono un ruolo significativo in questo processo.
In questo tutorial imparerai come impostare, visualizzare e annullare l'impostazione delle variabili di ambiente in Linux.
Prerequisiti
- Qualsiasi distribuzione Linux (Debian, Ubuntu, RHEL, CentOS...)
- Accesso alla riga di comando
- Privilegi di sudo
Cosa sono le variabili d'ambiente:una definizione
Le variabili di ambiente sono variabili che contengono valori necessari per configurare un ambiente shell. Contrariamente alle variabili della shell, le variabili di ambiente persistono nei processi figlio della shell.
Strutturalmente, le variabili di ambiente e shell sono le stesse:entrambe sono una coppia chiave-valore, separate da un segno di uguale.
VARIABLE_NAME=value
Se una variabile ha più di un valore, separali con un punto e virgola:
VARIABLE_NAME=value_1:value_2
Le variabili che contengono spazi sono scritte tra virgolette:
VARIABLE_NAME="Value text"
Variabili d'ambiente più comuni
Ecco alcune variabili di ambiente che un utente medio potrebbe incontrare:
PWD
– Directory di lavoro corrente.HOME
– La posizione della home directory dell'utente.SHELL
– Shell corrente (bash, zsh, ecc.).LOGNAME
– Nome dell'utente.UID
– Identificatore univoco dell'utente.HOSTNAME
– Nome host del dispositivo sulla rete.MAIL
– Directory di posta dell'utente.EDITOR
– L'editor di testo predefinito del sistema Linux.TEMP
– Posizione della directory per i file temporanei.
Come controllare le variabili d'ambiente
Visualizza tutte le variabili d'ambiente
Usa il printenv
comando per visualizzare tutte le variabili di ambiente. Poiché ci sono molte variabili nell'elenco, usa less
comando per controllare la vista:
printenv | less
L'output mostrerà la prima pagina dell'elenco e poi ti permetterà di andare oltre premendo Spazio per vedere la pagina successiva o Invio per visualizzare la riga successiva:
Esci dalla visualizzazione premendo Q
.
Cerca una singola variabile di ambiente
Per verificare il valore di una singola variabile di ambiente, utilizzare il comando seguente:
printenv VARIABLE NAME
Il HOME
il valore della variabile è il percorso della cartella home:
In alternativa, visualizza il valore di una variabile utilizzando echo
comando. La sintassi è:
echo $[VARIABLE_NAME]
Cerca variabili d'ambiente specifiche
Per trovare tutte le variabili contenenti una determinata stringa di caratteri, usa il comando grep:
printenv | grep [VARIABLE_NAME]
L'output di ricerca per USER
variabile mostra le seguenti righe:
Un altro comando che puoi usare per controllare le variabili d'ambiente è set
. Tuttavia, questo comando includerà anche variabili locali, così come variabili di shell e funzioni di shell.
Trova una variabile di ambiente nell'elenco che contiene tutte le variabili e le funzioni della shell usando set | grep
:
set | grep [VARIABLE_NAME]
Imposta una variabile di ambiente in Linux
Il modo più semplice per impostare una variabile utilizzando la riga di comando è digitarne il nome seguito da un valore:
[VARIABLE_NAME]=[variable_value]
1. Ad esempio, crea una variabile chiamata EXAMPLE
con un valore di testo. Se digiti il comando correttamente, la shell non fornisce alcun output.
2. Il set | grep
il comando conferma la creazione della variabile. Tuttavia, printenv
non restituisce alcun output.
Questo perché la variabile creata in questo modo è una variabile di shell.
3. Un altro modo per confermarlo è digitare bash
e avvia una sessione di shell figlio. Usando l'echo
comando per cercare il EXAMPLE
la variabile ora non restituisce alcun output:
Come esportare una variabile d'ambiente
1. Se vuoi trasformare una variabile di shell in una variabile di ambiente, torna alla shell principale ed export
con il comando di esportazione:
export [VARIABLE_NAME]
2. Usa printenv
per confermare l'avvenuta esportazione:
3. Se ora apri una sessione shell figlio, echo
restituirà il valore della variabile di ambiente:
La variabile d'ambiente creata in questo modo scompare dopo l'uscita dalla sessione della shell corrente.
Imposta una variabile d'ambiente in Linux in modo permanente
Se si desidera che una variabile persista dopo aver chiuso la sessione della shell, è necessario impostarla come variabile ambientale in modo permanente. Puoi scegliere se impostarlo per l'utente corrente o per tutti gli utenti.
1. Per impostare variabili di ambiente permanenti per un singolo utente, modificare il .bashrc
file:
sudo nano ~/.bashrc
2. Scrivi una riga per ogni variabile che desideri aggiungere utilizzando la seguente sintassi:
export [VARIABLE_NAME]=[variable_value]
3. Salvare ed uscire dal file. Le modifiche vengono applicate dopo il riavvio della shell. Se vuoi applicare le modifiche durante la sessione corrente, usa il comando sorgente:
source ~/.bashrc
4. Per impostare variabili di ambiente permanenti per tutti gli utenti, crea un .sh
nel /etc/profile.d
cartella:
sudo nano /etc/profile.d/[filename].sh
5. La sintassi per aggiungere variabili al file è la stessa di .bashrc
:
6. Salvare ed uscire dal file. Le modifiche vengono applicate al successivo accesso.
Come annullare l'impostazione di una variabile d'ambiente
Per annullare l'impostazione di una variabile di ambiente, utilizza unset
comando:
unset [VARIABLE_NAME]
Questo comando rimuove permanentemente le variabili esportate tramite un comando da terminale.
Anche le variabili memorizzate nei file di configurazione vengono rimosse dalla sessione della shell corrente. Tuttavia, vengono reimpostati al prossimo accesso.
Per annullare l'impostazione permanente di una variabile memorizzata in un file, vai al file e rimuovi la riga contenente la definizione della variabile.