Come impostare le variabili d'ambiente in MacOS

6 dic 2022 2 min di lettura
Come impostare le variabili d'ambiente in MacOS
Indice dei contenuti

Introduzione

Le variabili d'ambiente sono un modo per memorizzare i valori sulla macchina locale (quella che esegue il programma). Ad esempio, è possibile memorizzare un ID utente che verrebbe utilizzato per accedere a un sistema. È inoltre possibile utilizzare le variabili di ambiente per archiviare le impostazioni di configurazione come il nome di una connessione al database.

Quando si impostano le variabili di ambiente, è importante considerare le implicazioni sulla sicurezza. Se un utente malintenzionato è in grado di accedere alle tue variabili di ambiente, potrebbe ottenere l'accesso a informazioni sensibili come nome utente e password. Pertanto, è importante proteggere i nomi delle variabili di ambiente.

Chi è nuovo su Mac può essere sopraffatto da come impostare e gestire queste variabili di ambiente. Questa guida fornisce modi semplici per farlo.

Visualizzare le variabili di ambiente correnti

Per visualizzare tutte le variabili di ambiente, apri un terminale su macOS e digita:

printenv 

Possiamo anche utilizzare il comando echo per stampare i valori delle variabili di ambiente specifiche:

echo $JAVA_HOME
/usr/local/Cellar/openjdk@11/11.0.16.1/libexec/openjdk.jdk/Contents/Home

Per impostazione predefinita, la maggior parte delle distribuzioni Linux espongono le variabili d'ambiente come coppie key=value (ad esempio, chiave=”valore”). Queste coppie sono normalmente memorizzate in file come /etc/paths o /etc/defaults/key1 o in altre posizioni. In alcuni casi, possono essere esposti inserendo voci speciali nel file .bashrc o .profile di una shell.

Impostare una variabile d'ambiente temporanea

Una variabile di ambiente temporanea è una variabile definita nel buffer del processo che esiste solo durante l'esecuzione del programma. Viene perso quando il programma termina o se il processo termina e non è disponibile per altri programmi.
Il valore della variabile di ambiente temporanea viene perso al termine del processo dell'applicazione o quando lo si interrompe. Il valore di una variabile di ambiente temporanea può essere recuperato con lo strumento Process Monitor.

export MY_VAR=value

Quindi stampa il valore if MY_VAR con il comando echo:

export $MY_VAR

Vedrai il valore assegnato come output. Ma se apri un nuovo terminale e provi a stampare la stessa variabile.

Pertanto, l'ambito della variabile di ambiente esportata manualmente è solo la shell attiva.

Impostare una variabile d'ambiente permanente

Una variabile di ambiente permanente è definita nel file di configurazione di un'applicazione. Persiste anche dopo fork ed exec ed è disponibile per l'uso da parte di tutti i processi nello stesso contesto di esecuzione (ovvero tutti i processi su un singolo computer). Le variabili di ambiente permanenti non vengono perse al termine del processo dell'applicazione o quando lo si termina.

Poiché l'ultimo macOS utilizza la shell Zsh, quindi possiamo aggiungere le variabili di ambiente al file ~/.zshrc o ~/.zshenv per l'utente corrente. Ad esempio, per creare la variabile di ambiente JAVA_HOME e aggiornare anche PATH per includere JAVA_HOME. Modifica ~/.zshenv e aggiungi i seguenti valori:

export JAVA_HOME=$(/usr/libexec/java_home -v11)
export PATH="$JAVA_HOME/bin:$PATH"

La prima riga imposta la variabile d'ambiente JAVA_HOME e il secondo comando antepone la directory bin Java alla variabile d' ambiente PATH.

Conclusione

Più vecchio di macOS 10.15 utilizza la shell Bash come impostazione predefinita. La modifica di quell'utente ~/bash_profile per l'aggiunta di variabili d'ambiente permanenti.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.