ion Linux, le variabili di ambiente sono valori denominati dinamici che funzionano come segnaposto per le informazioni memorizzate nel sistema utilizzato dalle applicazioni della riga di comando. Proprio come qualsiasi altra variabile, è composta da due parti: un nome e un valore associato.

Ecco una rapida occhiata alla formattazione delle variabili:

KEY=value
KEY="this is also a value"
KEY=valueA:valueB

Alcune cose da notare:

  • Non dovrebbe esserci spazio prima o dopo il simbolo “=”.
  • Se i valori contengono spazi bianchi, vengono utilizzate le virgolette.
  • È possibile assegnare più valori a una variabile. Ogni valore deve essere separato da due punti (:).
  • I nomi delle variabili fanno distinzione tra maiuscole e minuscole. In quanto tale, “KEY” e “key” indicano due variabili diverse. Per convenzione, una variabile di ambiente dovrebbe essere scritta in MAIUSCOLO.

Utilizzando le variabili d’ambiente, puoi potenzialmente personalizzare il funzionamento del tuo sistema, incluso il comportamento delle applicazioni installate sul tuo sistema.

Ad esempio, è possibile utilizzare le variabili di ambiente per memorizzare informazioni sulle applicazioni predefinite come un editor di testo, un browser o persino il percorso di un file eseguibile. Ciò consente di modificare il sistema in base alle proprie esigenze personali o alle esigenze di un gruppo di utenti.

Ora, per questa lettura, abbiamo messo insieme un tutorial dettagliato che discute come impostare ed elencare le variabili ambientali sul tuo PC Linux. Questo ti darà una comprensione pratica dell’uso delle variabili d’ambiente per personalizzare il tuo sistema.

Quindi, senza ulteriori indugi, iniziamo:

Qual è la differenza tra variabili di ambiente e variabili di shell?

Prima di iniziare, comprendiamo innanzitutto le differenze tra una variabile di ambiente e una variabile di shell.

Per dirla semplicemente, una “variabile di ambiente” è disponibile a livello globale ed è ereditata da qualsiasi processo figlio o shell generato.

Le variabili di shell, d’altra parte, sono variabili che si applicano solo all’istanza di shell corrente. Bash, zsh e tutte le altre shell hanno il proprio set di variabili di shell interne. Questi sono generalmente usati per tenere traccia di dati temporaneamente rilevanti, come la directory di lavoro corrente.

Ora puoi rendere disponibile una variabile di shell come variabile d’ambiente. Tutto quello che devi fare è usare il comando “esporta” insieme al nome della variabile. Questo esporterà il suo valore a livello globale in modo che i nuovi programmi e subshell possano ora usarlo.

Ecco un esempio di come è fatto:

esportare variabili di shell in variabili ambientali
Esportare variabili di shell in variabili ambientali

Approfondiremo questo aspetto in una sezione successiva.

Come elencare e impostare le variabili d’ambiente

Sono disponibili tantissimi comandi per aiutarti a elencare e impostare le variabili. Ecco una rapida occhiata ad alcuni dei comandi più comuni che utilizzeremo in questo tutorial:

  • esportare: utilizzato per esportare il valore di una nuova variabile di ambiente assegnata.
  • env: utilizzato per eseguire un altro programma in un ambiente personalizzato senza la necessità di modificare quello corrente. Può essere usato con un argomento per stampare un elenco di tutte le variabili d’ambiente presenti nella shell.
  • printenv: utilizzato per stampare tutte le variabili di ambiente (o specificate) e le definizioni dell’ambiente corrente.
  • impostato: usato per assegnare o definire un ambiente o una variabile di shell. Se usato senza un argomento, stamperà un elenco di tutte le variabili – questo include variabili di ambiente, variabili di shell e funzioni di shell.
  • non settato: utilizzato per eliminare un ambiente specificato o una variabile di shell.

Usando questi comandi, sarai in grado di elencare e impostare le variabili d’ambiente sul tuo sistema Linux.

Elenco delle variabili d’ambiente

Il comando più comune utilizzato per visualizzare le variabili d’ambiente è “printenv”.

Se si utilizza il nome di una variabile come argomento per il comando, verrà visualizzato il valore della variabile. Tuttavia, se utilizzato senza argomenti, elencherà tutte le variabili d’ambiente sul sistema.

Ecco alcuni esempi:

diciamo che vuoi vedere il valore della variabile d’ambiente “HOME”. Per fare ciò, è necessario eseguire il seguente comando:

$ printenv HOME

Questo ti darà il percorso dell’utente attualmente connesso:

Valore della variabile HOME
Valore della variabile HOME

Puoi anche passare due o più argomenti tramite il comando “printenv” come segue:

$ printenv PWD LANG

Otterrai una schermata di output simile:

Valore della variabile PWD e LANG
Valore della variabile PWD e LANG

Ora, se esegui “printenv” senza argomenti, verrà visualizzato un elenco di tutte le variabili di ambiente.

elenco di tutte le variabili d'ambiente
Elenco di tutte le variabili d’ambiente

Ora, i comandi printenv ed env visualizzano solo le variabili di ambiente. Ma cosa succede se vuoi elencare tutte le variabili sul tuo sistema? Ciò include tutto a partire dalle variabili di ambiente alle variabili di shell e persino alle funzioni di shell.

Bene, allora puoi usare il comando “set” senza alcun argomento:

elenco di tutte le variabili
Elenco di tutte le variabili

Come puoi vedere nell’immagine, il comando mostrerà un ampio elenco dettagliato di tutte le variabili. Se vuoi reindirizzare l’output, puoi utilizzare questo comando:

$ set | less

Oltre a tutto questo, puoi anche usare il comando echo se vuoi stampare i valori delle variabili di shell. Basta inserire l’eco e passare la variabile di shell interessata come argomento. Ecco un esempio, utilizzandolo con la variabile BASH_VERSION.

utilizzando echo per visualizzare il valore di una variabile di shell
Valore di una variabile di shell

Per aiutarti a sperimentare con questi comandi sul tuo sistema, ecco un elenco di alcune delle variabili d’ambiente di comando.

  • EDITORE – L’editor di file predefinito da utilizzare quando si digita nell’editor nel terminale.
  • CASA – La home directory dell’utente corrente.
  • LANG – Le impostazioni locali correnti.
  • LOGNAME – Il nome dell’utente corrente.
  • LS_COLORS – Definisce tutti i codici colore utilizzati per aggiungere l’output colorato opzionale al comando ls. Questi colori vengono utilizzati per distinguere tra diversi tipi di file e rendere l’output più facilmente digeribile.
  • MAIL – La posizione in cui sono archiviate le e-mail dell’utente corrente.
  • SENTIERO – Un elenco di directory in cui cercare durante l’esecuzione dei comandi. Quando esegui un comando, il sistema cercherà queste directory nell’ordine elencato e utilizzerà il primo eseguibile trovato.
  • PWD – Posizione della directory di lavoro corrente.
  • OLDPWD – Posizione della directory di lavoro precedente.
  • CONCHIGLIA – Il percorso della shell dell’utente corrente, ad esempio bash o zsh.
  • TERMINE – L’attuale emulazione di terminale.
  • UTENTE – L’utente attualmente connesso.

Ora parliamo di come impostare le variabili d’ambiente.

Impostazione delle variabili d’ambiente

La pratica comune per creare una variabile di ambiente è creare una variabile di shell e quindi esportarla come variabile di ambiente.

Ora per creare una nuova variabile di shell, usiamo il seguente comando:

MY_VAR=FOSSLinux

È ora possibile utilizzare il comando echo per verificare che la variabile sia impostata con il valore fornito.

$ echo $MY_VAR

Allo stesso modo, usa printenv per vedere se la variabile è una variabile d’ambiente. In caso contrario, otterrai un output vuoto.

$ printenv MY_VAR

Inoltre, controlla se la variabile è ereditata dalla shell secondaria utilizzando il seguente comando:

$ bash -c 'echo $MY_VAR'

Anche qui, otterrai un output vuoto come mostrato nell’immagine qui sotto:

impostare una variabile di shell e verificarla
Impostazione di una variabile di shell

Ora che abbiamo impostato la variabile di shell MY_VAR e verificato, possiamo usare il comando export per impostarlo come variabile d’ambiente.

$ export MY_VAR

Una volta terminato, puoi utilizzare i comandi precedenti per vedere se è elencato come variabile di ambiente e vedere se è ereditato dalla sub-shell.

impostare una variabile d'ambiente e verificarla
Impostazione di una variabile d’ambiente

Puoi anche impostare una variabile d’ambiente usando una singola riga, come mostrato di seguito:

$ export NEW_VAR="This is a new variable"

Tuttavia, tieni presente che le variabili di ambiente create in questo modo sono disponibili solo per la sessione corrente. Una volta che ti disconnetti o apri una nuova shell, la variabile d’ambiente andrà persa.

Variabili d’ambiente persistenti e non persistenti

Come discusso in precedenza, quando modifichi le variabili d’ambiente nella tua shell corrente, queste andranno perse non appena ti disconnetti dalla shell. Questo è chiamato variabili di ambiente non persistenti.

Per renderli persistenti, o in altre parole, permanenti, sarà necessario modificare i file di configurazione di bash.

Quando si avvia una nuova sessione, tutte le variabili di ambiente vengono lette dai seguenti file. Pertanto, è possibile aggiungere le variabili di ambiente a questi file per renderli persistenti.

  • / etc / environment: Questo file contiene tutte le variabili di ambiente a livello di sistema. Puoi aggiungere nuove variabili utilizzando il seguente formato:
$FOO=bar
$MY_VAR=FOSSLinux
  • / etc / profile: Questo file include set di variabili che vengono caricati quando viene inserita una shell di login bash. È possibile dichiarare una variabile di ambiente in questo file utilizzando il comando di esportazione.
$ export JAVA_HOME="/path/to/java/home"
$ export PATH=$PATH:$JAVA_HOME/bin
  • È inoltre possibile impostare file di ambiente in file di configurazione specifici della shell per utente. Ad esempio, se stai usando Bash, puoi dichiarare la variabile all’interno di ~ / .bashrc usando il seguente comando:
$ export PATH="$HOME/bin:$PATH"

Per caricare la nuova variabile di ambiente nella sessione della shell corrente, sarà necessario utilizzare il comando source come segue:

$ source ~/.bashrc

Dopo aver eseguito questi passaggi, tutte le variabili di ambiente che hai appena aggiunto diventeranno permanenti e rimarranno intatte anche se ti disconnetti dalla shell.

Conclusione

Quindi questa era la nostra guida approfondita su come elencare e impostare le variabili d’ambiente in Linux. Ci auguriamo che tu l’abbia trovato utile ed educativo. In caso di domande o problemi, lasciaci un commento e ti ricontatteremo con una rapida risposta.

Se inizi con Linux, puoi visitare la nostra serie Learn Linux, dove trattiamo tutorial e guide approfonditi a beneficio sia dei principianti che degli utenti Linux esperti.

Esegui l'accesso per Commentare