GNU/Linux >> Linux Esercitazione >  >> Linux

Come impostare ed elencare variabili ambientali in Linux

In Linux, le variabili di ambiente sono valori denominati dinamici che fungono da segnaposto per le informazioni archiviate 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 ci dovrebbe essere spazio prima o dopo il simbolo “=”.
  • Se i valori contengono spazi bianchi, vengono utilizzate le virgolette.
  • Puoi assegnare più valori a una variabile. Ogni valore deve essere separato da un carattere due punti (:).
  • I nomi delle variabili fanno distinzione tra maiuscole e minuscole. Pertanto, "KEY" e "key" denotano due variabili diverse. Per convenzione, una variabile d'ambiente dovrebbe essere scritta in MAIUSCOLO.

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

Ad esempio, puoi utilizzare le variabili di ambiente per archiviare 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 praticabile dell'utilizzo delle variabili di 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 della shell, d'altra parte, sono variabili che si applicano solo all'istanza della shell corrente. Bash, zsh e tutte le altre shell hanno il proprio set di variabili interne della shell. 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 di 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 nuovi programmi e subshell possano ora usarlo.

Ecco un esempio di come è fatto:

Approfondiremo questo aspetto in una sezione successiva.

Come elencare e impostare le variabili d'ambiente

Ci sono tonnellate di comandi disponibili per aiutarti a elencare e impostare le variabili. Ecco una rapida occhiata ad alcuni dei comandi più comuni che useremo in questo tutorial:

  • esporta :utilizzato per esportare il valore di una nuova variabile di ambiente assegnata.
  • ambiente :utilizzato per eseguire un altro programma in un ambiente personalizzato senza dover 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 (o specificate) le variabili di ambiente e le definizioni dell'ambiente corrente.
  • imposta :utilizzato per assegnare o definire un ambiente o una variabile di shell. Se utilizzato senza un argomento, stamperà un elenco di tutte le variabili, incluse le variabili di ambiente, le variabili della shell e le funzioni della shell.
  • non impostato :utilizzato per eliminare un ambiente specificato o una variabile di shell.

Usando questi comandi, sarai in grado di elencare e impostare variabili di 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 un argomento, elencherà tutte le variabili di ambiente sul sistema.

Ecco alcuni esempi:

diciamo che vuoi vedere il valore della variabile d'ambiente "HOME". Per fare ciò, devi eseguire il seguente comando:

$ printenv HOME

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

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

$ printenv PWD LANG

Otterrai una schermata di output simile:

Ora, se esegui "printenv" senza un argomento, verrà visualizzato un elenco di tutte le variabili di 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, dalle variabili di ambiente alle variabili della shell e persino alle funzioni della shell.

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

Come puoi vedere nell'immagine, il comando visualizzerà un ampio elenco dettagliato di tutte le variabili. Se vuoi ridurre l'output, puoi usare questo comando invece:

$ set | less

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

Per aiutarti a sperimentare questi comandi sul tuo sistema, ecco un elenco di alcune delle più variabili di ambiente dei comandi.

  • REDATTORE – L'editor di file predefinito da utilizzare quando si digita l'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.
  • POSTA – La posizione in cui sono archiviate le email dell'utente corrente.
  • PERCORSO – Un elenco di directory in cui eseguire la ricerca 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.
  • GUSCI – Il percorso della shell dell'utente corrente, ad esempio bash o zsh.
  • DURATA – L'emulazione di terminale corrente.
  • UTENTE – L'utente attualmente connesso.

Ora parliamo di come impostare le variabili di 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, utilizziamo 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 di ambiente. In caso contrario, otterrai un output vuoto.

$ printenv MY_VAR

Inoltre, controlla se la variabile è ereditata dalla sottoshell usando il seguente comando:

$ bash -c 'echo $MY_VAR'

Anche qui otterrai un output vuoto come mostrato nell'immagine seguente:

Ora che abbiamo impostato la variabile shell MY_VAR e l'abbiamo verificata, possiamo usare il comando export per impostarla come variabile d'ambiente.

$ export MY_VAR

Una volta terminato, puoi utilizzare i comandi precedenti per vedere se è elencata come variabile di ambiente e vedere se è ereditata dalla sottoshell.

Puoi anche impostare una variabile di ambiente utilizzando 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 disconnesso o aperto una nuova shell, la variabile di ambiente andrà persa.

Variabili d'ambiente persistenti e non persistenti

Come discusso in precedenza, quando modifichi le variabili di 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, dovrai modificare i file di configurazione di bash.

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

  • /etc/ambiente :questo file contiene tutte le variabili di ambiente a livello di sistema. Puoi aggiungere nuove variabili usando il seguente formato:
$FOO=bar
$MY_VAR=FOSSLinux
  • /etc/profilo :questo file include set di variabili che vengono caricati quando viene inserita una shell di accesso bash. Puoi dichiarare una variabile di ambiente in questo file usando il comando export.
$ export JAVA_HOME="/path/to/java/home"
$ export PATH=$PATH:$JAVA_HOME/bin
  • Puoi anche 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, dovrai usare il comando sorgente 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 esci dalla shell.

Conclusione

Quindi questa è stata la nostra guida approfondita su come elencare e impostare le variabili di ambiente in Linux. Ci auguriamo che tu l'abbia trovato utile ed educativo. In caso di domande o di problemi, lasciaci un commento e ti risponderemo rapidamente.

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


Linux
  1. Come impostare e annullare l'impostazione di variabili di ambiente locali, utente e a livello di sistema in Linux

  2. Come gestire ed elencare i servizi in Linux

  3. Come impostare, elencare e rimuovere variabili d'ambiente in Linux

  4. Esempi di comandi di esportazione Linux (come impostare le variabili di ambiente)

  5. Variabili d'ambiente utente con "su" e "sudo" in Linux

Come installare e configurare Tor Browser su Linux

Come impostare/disimpostare le variabili d'ambiente in Linux

Come elencare utenti e gruppi su Linux

Come impostare data e ora su Linux

Come impostare e annullare l'impostazione delle variabili di ambiente su Linux

Variabili d'ambiente Linux