Le variabili d'ambiente di Linux
Le variabili d'ambiente sul sistema operativo Linux sono indirizzi di memoria dove sono registrati nomi e valori associati tra loro.
Come funziona una variabile d'ambiente? Nel sistema ogni nome svolge una particolare funzione. Quando si modifica il valore associato a un nome di variabile, cambia il comportamento del sistema.
Un esempio pratico
Nella variabile di ambiente PS1 è indicata la stringa usata per il prompt della linea di comando.
PS1
Nella variabile PWD è registrata la directory corrente.
PWD
E così via.
Come visualizzare una variabile di ambiente
Per visualizzare il valore registrato in una variabile di ambiente, si utilizza il comando echo.
echo $+[nome variabile]
In alternativa si può usare il comando printenv
printenv [nome variabile]
Un esempio pratico
Per vedere il contenuto della variabile PWD apro il terminale e digito
echo $PWD
Come si può facilmente notare, in questo caso alla variabile va aggiunto il prefisso $ ( dollaro ).
In risposta il sistema mostra la directory in cui mi trovo.
In alternativa potrei usare il comando printenv
printenv PWD
In questo caso la variabile è senza il simbolo del dollaro $.
Linux legge e mostra il contenuto della variabile.
Il risultato finale è sempre lo stesso.
Quali sono le variabili di ambiente su Linux
Le principali variabili di ambiente sul s.o. Linux sono le seguenti:
- HOME la directory dell'utente
- EDITOR il programma di default per editare i testi
- PWD la directory corrente
- OLDPWD la directory precedente
- PATH le directory dove cercare i comandi
- PS1 il prompt del terminale
- LOGNAME il nome di login dell'utente
- USER il nome dell'utente
E altri ancora.
Come visualizzare tutte le variabili di ambiente
Per visualizzare i valori di tutte le variabili di ambiente, digito il comando printenv senza aggiungere nulla.
printenv
Il sistema Linix elenca tutte le variabili d'ambiente in ordine alfabetico.
Il valore assegnato a ogni variabile è indicato a destra del nome, dopo il simbolo uguale.
Come modificare una variabile di ambiente
Per modificare il contenuto di una variabile di ambiente, basta digitare il suo nome sulla linea di comando e assegnargli un valore tra virgolette, dopo il simbolo uguale.
nomevariabile = 'valore'
Un esempio pratico
Per modificare la stringa del prompt digito:
PS1 = ' $> '
Dopo aver dato invio, il prompt del terminale è diventato '$>'.
Nota. Per personalizzare il prompt con colori, variabili e varie informazioni ho scritto degli appunti appositi "come personalizzare il prompt del terminale di Linux" a cui rimando.
Come creare delle variabili di ambiente locali
Allo stesso modo posso creare delle variabili d'ambiente locali, oltre quelle già presenti nella shell.
In questo caso, devo indicare il nome della variabile e assegnarli un valore.
nomevariabile = 'valore'
Il processo è sempre lo stesso.
Esempio
Creo la variabile PIPPO e gli assegno il valore 1.
PIPPO='1'
Dopo aver dato invio, la variabile locale PIPPO viene creata e gli viene assegnato il valore '1'.
Per una verifica digito sul terminale echo $PIPPO
Il comando stampa a video il valore della variabile locale ed è effettivamente uguale a '1'.
Attenzione. Le variabili locali sono registrate temporaneamente nella sessione corrente dell'utente e valgono soltanto nell'ambiente corrente. Non sono esportate all'ambiente della shell. Quindi, se la shell lancia un programma, quest'ultimo non può leggere le variabili d'ambiente locali della sessione dell'utente.
Come cancellare una variabile locale
Per eliminare una variabile d'ambiente locale utilizzo il comando unset.
unset [ nome variabile ]
Esempio pratico
Per cancellare la variabile d'ambiente locale PIPPO scrivo
unset PIPPO
Il comando cancella la variabile locale PIPPO dalla memoria del sistema.
Per fare una verifica digito echo $PIPPO sul terminale
Ora la variabile $PIPPO è vuota.