Le variabili di ambiente sono un tipo di variabili definite nella shell e richieste durante l'esecuzione del programma. Sono spesso usati nei programmi shell per eseguire varie operazioni.
L'ambito di qualsiasi variabile si riferisce all'area in cui è possibile accedervi o definirla. In Linux, l'ambito di una variabile di ambiente può essere globale/a livello di sistema o locale. Alcuni esempi comuni di variabili di ambiente in Linux includono:
- PWD – mostra il percorso della directory di lavoro attuale
- HOME – fornisce il percorso della directory home
- HOSTNAME – stampa il nome dell'host
- EDITOR – mostra l'editor di file predefinito
In questa guida impareremo come impostare e annullare l'impostazione delle variabili di ambiente in Linux.
Imposta le variabili di ambiente utilizzando il comando export
Un modo semplice per impostare le variabili di ambiente consiste nell'usare il comando export. Dobbiamo dare alla variabile un nome che verrà utilizzato per accedervi nella shell e un valore per contenere i dati
Sintassi:
$ export NAME = VALUE
Ad esempio, imposta il nome della tua variabile
$ export VAR ="value"
Quando si usa il comando export, la variabile d'ambiente sarà impostata solo per la sessione della shell attuale. Di conseguenza, la variabile di ambiente non sarà più accessibile se si apre un nuovo terminale o si riavvia il sistema.
Per restituire il valore della tua variabile d'ambiente sulla shell, puoi usare uno dei comandi mostrati;
$ printenv variable
$ echo $variable
Nota:quando si utilizza il comando echo, il nome della variabile deve essere preceduto dal simbolo del dollaro.
Imposta variabili di ambiente a livello di utente su Linux
Queste sono le variabili che sono state definite per un utente specifico e vengono eseguite ogni volta che quell'utente accede tramite una sessione di accesso locale o remota. Vengono impostati e caricati dai seguenti file di configurazione nella home directory dell'utente:bashrc, .bash profile, .bash login, e .profilo.
Utilizzo del file .bashrc
Il .bashrc file è uno script che viene caricato ogni volta che un utente apre una nuova sessione del terminale. Le variabili di ambiente in questo file vengono eseguite ogni volta che viene avviata una nuova sessione.
Ad esempio, aggiungi una variabile NEW_VAR al tuo file .bashrc come mostrato:
$ sudo vi .bashrc
$ export NEW_VAR =”Linux”
Salva il tuo file e ricarica il file .bashrc con il seguente comando sorgente per applicare le modifiche:
$ source ~/.bashrc
Stampa la nuova variabile:
$ echo $NEW_VAR
La variabile è ora persistente quando apri nuove sessioni o riavvii il sistema
Utilizzo di .bash_profile
Per aggiungere variabili di ambiente che saranno disponibili per sessioni di accesso remoto., modifica il file .bash_profile.
$ sudo vi .bash_profile
$ export $VAR1 ="Linux"
Quindi, ricarica il file .bashrc con il seguente comando sorgente per rendere effettive le modifiche.
$ source ~/.bash_profile
Stampa la nuova variabile:
$ echo $VAR1
Imposta variabili di ambiente a livello di sistema in Linux
Si tratta di variabili di ambiente a livello di sistema, il che significa che sono disponibili per tutti gli utenti del sistema. Queste variabili possono essere trovate nelle seguenti directory e file che includono file di configurazione a livello di sistema:/etc/environment, /etc/profile, /etc/profile.d/, /etc/bash.bashrc, /etc/profile.d /, /etc/profile.d/, /etc/profile.d/, /etc/profile.d/, /etc/profile
Utilizzo del file /etc/bash.bashrc
Aggiungi una variabile di ambiente a livello di sistema a /etc/bash.bashrc file. Sarà disponibile per gli utenti quando uno di loro avvia un nuovo terminale ma non è possibile accedervi da remoto.
$ export VAR1='Linux'
Ora, ricarica il file /etc/bash.bashrc per rendere effettive le modifiche.
$ source /etc/bash.bashrc
Dall'output sopra, la variabile è accessibile sia dall'utente normale che da root.
Utilizzo del file /etc/profile
Per aggiungere una variabile di ambiente che sarà disponibile quando uno qualsiasi degli utenti del tuo sistema vi accede da remoto, modifica il '/etc/profile' file. Dopo aver aggiunto la variabile, ricarica il file.
$ sudo vi /etc/profile
$ export VAR='Linux'
$ source /etc/profile
$ echo $VAR
Dall'esempio sopra, la variabile è disponibile per un nuovo utente che ha effettuato l'accesso in remoto
Utilizzo del file /etc/environment
Per aggiungere una variabile di ambiente che sarà disponibile per tutti gli utenti nelle sessioni di accesso sia locali che remote, aggiungi la variabile in /etc/environment file.
$ sudo vi /etc/environment
$ export MY_VAR='Linux'
$ source /etc/environment
$ echo $MY_VAR
Disimposta variabili d'ambiente su Linux
Ora che hai imparato come impostare le variabili d'ambiente sul tuo sistema, potresti dover rimuoverle se non ti servono più.
Per annullare l'impostazione delle variabili di ambiente in Linux, utilizzare il comando unset o rimuovere le voci delle variabili dai file di configurazione del sistema.
Utilizzare la seguente sintassi per annullare l'impostazione di una variabile di ambiente in Linux:
$ unset <variable>
Ad esempio, deseleziona una delle variabili precedenti:
$ unset NEW_VAR
Per verificarlo, stampa la variabile:
Non viene visualizzato nulla nel terminale.
Nota :le variabili di ambiente definite nei file di configurazione a livello di sistema o utente possono essere cancellate esclusivamente rimuovendole da questi file. Dopodiché, ricarica il file con il comando sorgente per rendere effettive le modifiche.
$ source <file-name>
Conclusione
Hai visto come impostare e annullare l'impostazione delle variabili di ambiente sia locali che persistenti in Linux.