Su Linux, sapere come impostare e annullare l'impostazione della variabile di ambiente s è essenziale per gestire i tuoi host.
Le variabili di ambiente sono un insieme di coppie chiave-valore memorizzate su Linux e utilizzate dai processi per poter eseguire operazioni specifiche.
Un esempio molto popolare è quando stai cercando di impostare il fuso orario sul tuo sistema Linux.
Potrebbe essere necessario impostare le variabili di ambiente in modo che l'ora del sistema cambi.
Le variabili d'ambiente possono essere utilizzate anche nei programmi shell o nelle subshell per eseguire varie operazioni (ad esempio sapere se l'utente corrente è root o meno).
In questo tutorial, vedremo come puoi impostare , annulla e elenca tutte le variabili d'ambiente sul tuo sistema. Daremo anche un'occhiata a file specifici che possono aiutarti a impostare facilmente le variabili di ambiente.
Imposta variabili d'ambiente su Linux utilizzando l'esportazione
Su Linux, hai molti modi diversi per impostare le tue variabili d'ambiente a seconda che tu voglia renderle persistenti o meno.
Il modo più semplice per impostare le variabili di ambiente è utilizzare il comando export.
$ export VAR="value"
Usando export, la tua variabile d'ambiente sarà impostata per la sessione della shell corrente.
Di conseguenza, se apri un'altra shell o se riavvii il sistema, la tua variabile di ambiente non sarà più accessibile. Se hai bisogno di variabili di ambiente persistenti, puoi fare riferimento alla sezione successiva.
Per ottenere il valore della tua variabile di ambiente, puoi utilizzare il comando “printenv” con la variabile che stai cercando.
$ printenv <variable>
Ad esempio, dato l'esempio sopra citato, dovresti eseguire il comando seguente.
$ printenv VAR
value
In alternativa, puoi utilizzare le pipe Linux per ottenere il valore delle tue variabili di ambiente.
Puoi anche usare il comando echo ma devi avere un simbolo del dollaro prima del nome della variabile.
$ echo $VAR
value
Imposta variabili d'ambiente persistenti su Linux
Come hai visto nella sezione precedente, le variabili di ambiente non erano persistenti al riavvio della shell.
Tuttavia, c'è un modo per rendere persistenti le tue modifiche:utilizzando file di sistema che vengono letti ed eseguiti a condizioni specifiche.
Utilizzo del file .bashrc
Il modo più diffuso per impostare le variabili di ambiente in modo persistente è aggiungerle al file ".bashrc".
Il file “.bashrc” è uno script eseguito ogni volta che inizializza una sessione di shell interattiva .
Di conseguenza, quando avvii un nuovo Terminale tramite l'interfaccia GNOME o se usi semplicemente una sessione dello schermo, utilizzerai il file .bashrc.
Ad esempio, aggiungi le seguenti voci al tuo file .bashrc.
$ export TZ="America/New_York"
Salva il tuo file e usa il comando source per ricaricare il file bashrc per la tua sessione di shell corrente.
$ source ~/.bashrc
Puoi stampare la tua nuova variabile di ambiente con "printenv" e vedere come è stata impostata la tua data su Linux modificando TZ.
$ printenv TZ
America/New_York
$ date
Sat 19 Oct 2019 10:03:00 AM EDT
Ottimo, le tue modifiche ora sono persistenti durante i ricaricamenti della shell o del sistema.
Utilizzo di .bash_profile
In alternativa, se prevedi di connetterti alle tue sessioni tramite "shell di accesso", puoi anche aggiungere le tue variabili di ambiente direttamente nel file .bash_profile.
$ export TZ="America/New_York"
$ source ~/.bash_profile
Utilizzo di etc/ambiente
Nella sezione precedente, abbiamo visto come impostare le variabili di ambiente per gli utenti sul tuo sistema.
Tuttavia, potresti voler imporre variabili di ambiente specifiche per tutti. In questo caso, definirai variabili di ambiente a livello di sistema.
Per impostare variabili di ambiente a livello di sistema su Linux, devi esportare le tue variabili nel file /etc/environment.
Ad esempio, per modificare l'editor utilizzato globalmente, puoi modificare la variabile EDITOR nel file di ambiente.
$ export EDITOR="vi"
Ora, prova ad accedere come utenti diversi sul tuo sistema e vedrai che la variabile EDITOR è impostata per tutti sul server.
[email protected]:~$ printenv EDITOR
vi
Grande! Hai impostato correttamente le variabili di ambiente in modo persistente su Linux.
Imposta le variabili d'ambiente in una riga
Ora che conosci i dettagli su come impostare le variabili di ambiente, puoi utilizzare queste scorciatoie per impostarle facilmente.
# One line for .bashrc
$ echo "export VAR="value"" >> ~/.bashrc && source ~/.bashrc
# One line for bash_profile
$ echo "export VAR="value"" >> ~/.bash_profile && source ~/.bash_profile
# One line for /etc/environment
$ echo "export VAR="value"" >> /etc/environment && source /etc/environment
Disimposta variabili d'ambiente su Linux
Ora che hai impostato molte variabili di ambiente sul tuo sistema, potresti voler deselezionare alcune di esse se non le usi più.
Su Linux, ci sono due modi per annullare l'impostazione delle variabili d'ambiente:usando il comando unset o eliminando le voci delle variabili nei file di sistema.
Utilizzo del comando di annullamento dell'impostazione
Per annullare l'impostazione di una variabile di ambiente, utilizza il comando unset con la seguente sintassi
$ unset <variable>
Dati gli esempi sopra citati, eseguiresti quei comandi
$ unset USERNAME
$ printenv USERNAME
<nothing>
Utilizzando il comando set -n
In alternativa, puoi annullare l'impostazione delle variabili di ambiente utilizzando il comando set con il flag “-n”.
$ set -n USERNAME
$ printenv USERNAME
<nothing>
Set comune di variabili d'ambiente su Linux
Ora che sai come impostare e annullare l'impostazione delle variabili di ambiente su Linux, è il momento di dare un'occhiata all'insieme comune di variabili di ambiente che puoi trovare sul tuo sistema.
- UTENTE :il nome utente corrente dell'utente che utilizza il sistema;
- REDATTORE :il programma eseguito per eseguire modifiche ai file sul tuo host;
- CASA :la home directory dell'utente corrente;
- PERCORSO :un elenco di directory separate da due punti in cui il sistema cerca i comandi;
- PS1 :la stringa del prompt primario (per definire la visualizzazione del prompt della shell);
- PWD :la directory di lavoro corrente;
- _ :il comando più recente eseguito sul sistema (dall'utente)
- POSTA :il percorso della casella di posta dell'utente corrente;
- GUSCI :la shell usata per interpretare i comandi del sistema, può essere di molte diverse (come bash, sh, zsh o altre);
- LANG :la codifica della lingua utilizzata nel sistema;
- SESSIONE_DESKTOP :il desktop corrente utilizzato sul tuo host (GNOME, KDE)
- HISTFILESIZE :numero di righe della cronologia dei comandi memorizzate nel file della cronologia;
- HISTSIZE :numero di righe di cronologia consentite in memoria;
- UID :l'UID corrente per l'utente
Imposta la variabile di ambiente PATH su Linux
Sui sistemi Linux, è molto comune impostare la variabile d'ambiente PATH in modo che il sistema sia in grado di individuare i comandi.
Per visualizzare la variabile di ambiente PATH corrente, eseguire il comando printenv
$ printenv PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Per impostare la variabile di ambiente PATH, aggiungi una riga di esportazione al tuo file .bashrc e crealo.
$ echo "export PATH="<path>:$PATH"" >> ~/.bashrc && source ~/.bashrc
$ printenv PATH
<path>:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
Hai aggiornato correttamente la tua variabile di ambiente PATH su Linux.
Conclusione
Nel tutorial di oggi, hai imparato che puoi impostare le variabili di ambiente su Linux in diversi modi:con il comando export ma anche modificando alcuni file di sistema per renderli persistenti.
Hai anche imparato che è possibile annullare l'impostazione delle variabili di ambiente e come aggiornare facilmente la tua variabile di ambiente PATH.
Se sei interessato a Amministrazione di sistema Linux , abbiamo molti tutorial sull'argomento nella nostra categoria dedicata.