Introduzione
Un ambiente è un'area che contiene informazioni sul comportamento di vari programmi e applicazioni. Le variabili di ambiente Linux vengono utilizzate dalle applicazioni per ottenere informazioni sull'ambiente.
L'ambiente viene configurato ogni volta che viene creata una nuova sessione di shell. La modifica delle variabili d'ambiente Linux aiuta l'utente a controllare come interagiscono con i programmi tramite la shell, quali valori predefiniti vengono utilizzati per l'aspetto della finestra della shell, il tipo di shell utilizzata, la home directory predefinita, ecc.
File delle variabili d'ambiente Linux
Le informazioni necessarie per la configurazione dell'ambiente vengono ottenute tramite vari file tramite un processo noto come inizializzazione. Il sistema operativo esegue questo processo leggendo /etc/profile
e .profile
file.
Il file /etc/profile è sotto il controllo amministrativo di Linux e contiene informazioni essenziali che non possono essere modificate dall'utente. Il file .profile è completamente sotto il controllo dell'utente e può essere utilizzato per modificare l'ambiente.
Se stai usando la shell bash, le variabili di ambiente utente possono essere create nel file .bash_profile e .bashrc.
Se questi file non esistono, il sistema operativo procede con la creazione dell'ambiente e non visualizza alcun errore.
Il terminale richiede all'utente di inserire (indicato dal $
segno) dopo che l'Ambiente è stato istituito.
Variabili di ambiente Linux
Queste sono coppie nome/valore.
Le variabili d'ambiente possono essere gestite utilizzando i seguenti 5 comandi principali.
- stampante
- ambiente
- imposta
- esporta
- disinserito
Esaminiamo ciascuno di questi comandi uno per uno.
printenv
può essere utilizzato per stampare il valore di una variabile di ambiente. Se non viene specificata alcuna chiave, tutte le coppie nome-valore vengono stampate come output. Questi includono solo variabili con un ambito globale.esempio di comando printenv
Le variabili di ambiente Linux sono definite in maiuscolo per convenzione.
env
stampa anche le coppie nome-valore comeprintenv
. Questo comando stampa anche solo variabili con ambito globale. Tuttavia, non può essere utilizzato per stampare valori specifici di variabili di ambiente.set
viene utilizzato per stampare variabili di shell, variabili di ambiente, variabili locali e funzioni di shell. Questi includono variabili con ambito locale e globale.imposta esempio di comando
export
viene utilizzato per creare nuove variabili di ambiente che persistono anche dopo la chiusura di una sessione di shell.unset
viene utilizzato per separare o rimuovere una variabile di ambiente.
Alcune importanti variabili d'ambiente predefinite
- LANG: Contiene la lingua di sistema corrente.
- NOME UTENTE: Contiene il nome utente dell'utente corrente.
- PWD: Contiene il percorso della directory corrente.
- PERCORSO: Contiene un elenco di directory separate da due punti in cui il sistema cerca gli eseguibili.
- CASA: Contiene il percorso della directory home.
- GUSCI: Contiene il percorso della shell preferita dell'utente.
- EDITOR: Contiene il comando per eseguire l'editor leggero. Ad esempio:
/usr/bin/nano
- VISUAL: Contiene il comando per eseguire l'editor utilizzato per attività di modifica pesanti. Es.:
Vi
(Vim) - BROWSER: Contiene il comando per eseguire il browser Web predefinito.
Operazioni con variabili d'ambiente
Diamo un'occhiata ad alcune operazioni comuni sulle variabili di ambiente in Linux.
1. Creazione di nuove variabili d'ambiente
È possibile creare nuove variabili semplicemente digitando un nuovo nome di variabile e assegnandole un valore in ""
, separato da =
firmare.
Non devono esserci spazi tra =
e nome/valore della variabile. In caso contrario, il terminale restituirà un errore.
Una volta creata la variabile, i suoi valori vengono visualizzati usando il echo
comando.
nuovo esempio di variabile env
Un $
il segno deve precedere il nome della variabile durante la visualizzazione del valore utilizzando l'eco, come mostrato nell'esempio sopra. Tuttavia, non è necessario durante la creazione di una nuova variabile.
Ora che abbiamo creato una nuova variabile d'ambiente, proviamo a trovarla nell'elenco delle variabili visualizzate da printenv
comando e stamparne il valore.
Questo può essere fatto usando il comando grep.
grep env variabile esempio
Non viene visualizzato alcun output. Questo perché anche se abbiamo definito una nuova variabile d'ambiente, dobbiamo ancora "esportarla" nel file contenente i nomi di tutte le variabili.
L'esportazione consente alla variabile di essere accessibile da altri programmi e subshell.
Ciò si ottiene utilizzando export
comando di cui abbiamo parlato nell'ultima sezione.
$ export [VARIABLE_NAME]
esempio di comando di esportazione
Il valore della variabile viene ora visualizzato. È anche possibile accedervi in una nuova subshell.
esempio di esportazione subshell
Possiamo uscire dalla subshell digitando exit
comando. Questo ci riporta alla shell originale.
2. Modifica dei valori delle variabili esistenti
Le variabili esistenti possono essere modificate semplicemente assegnando loro un nuovo valore. Possiamo vedere le modifiche apportate stampando il valore della variabile usando echo
.
modifica del valore della variabile ambiente
3. Rimozione delle variabili d'ambiente
Il unset
il comando viene utilizzato per rimuovere le variabili di ambiente esistenti.
$ unset [VARIABLE_NAME]
esempio di comando unset
Variabili d'ambiente persistenti e non persistenti
Tutte le variabili d'ambiente di cui ci siamo occupati finora sono state variabili non persistenti. Le modifiche apportate a questi ultimi durano solo fino a quando la shell corrente è attiva e non influiscono sulle nuove finestre della shell. Una volta chiusa la sessione corrente, tutte le modifiche apportate alle variabili, create o modificate, vengono perse.
Per preservare le modifiche attraverso nuove sessioni e finestre, possiamo creare variabili d'ambiente persistenti. Questi vengono creati definendo le variabili all'interno del file delle variabili di ambiente nella home directory:.profile, .bash_profile e .bashrc.
Possiamo aprire il .bashrc
file utilizzando nano o vim .
accesso al file .bashrc
Definisci una nuova variabile ovunque all'interno di .bashrc
file utilizzando l'export
comando. Salva le modifiche ed esci dal file.
definizione della variabile env in .bashrc
Chiudi la sessione del terminale corrente e aprine una nuova.
Ora stampa la variabile d'ambiente appena creata usando echo
comando.
esempio di output della variabile env persistente
Possiamo vedere che la variabile persiste anche dopo aver creato una nuova sessione terminale e aver chiuso quella precedente.
Conclusione
Le variabili d'ambiente sono molto importanti e utili. Possono modificare il funzionamento dei programmi e facilitare l'interazione dell'utente con essi. Le variabili esistenti possono essere facilmente modificate in base alle esigenze dell'utente. Inoltre, è anche possibile creare facilmente nuove variabili. Le variabili d'ambiente possono modificare il modo in cui l'utente interagisce con la shell e persino rendere più rapido l'accesso a determinati programmi.