Utilizzare variabili di ambiente in Terminale sul Mac
La shell utilizza variabili di ambiente per archiviare informazioni come il nome dell'utente attuale, il nome del computer host e i percorsi di default di tutti i comandi. Le variabili di ambiente vengono ereditate da tutti i comandi eseguiti nel contesto della shell e alcuni comandi dipendono dalle variabili di ambiente.
Puoi creare variabili di ambiente e utilizzarle per controllare il comportamento di un comando senza modificare il comando stesso. Ad esempio, mediante una variabile di ambiente puoi fare in modo che un comando stampi informazioni di debug nella console.
Per impostare il valore di una variabile di ambiente, utilizza il comando di shell appropriato per associare il nome della variabile a un valore. Ad esempio, per impostare la variabile PATH sul valore /bin:/sbin:/user/bin:/user/sbin:/system/Library/
, inserisci il comando seguente in una finestra di Terminale:
% PATH=/bin:/sbin:/user/bin:/user/sbin:/system/Library/ export PATH
Per visualizzare tutte le variabili di ambiente, inserisci:
% env
Quando avvii un'app da una shell, l'app eredita la maggior parte dell'ambiente della shell, incluse le variabili di ambiente esportate. Questa forma di eredità può risultare utile per configurare l'app in modo dinamico. Ad esempio, la tua app può verificare la presenza (o il valore) di una variabile di ambiente e modificare il suo comportamento di conseguenza.
Shell diverse supportano semantiche diverse per l'esportazione delle variabili di ambiente. Per informazioni, consulta la pagina man della tua shell di preferenza.
Anche se i processi figlio di una shell ereditano l'ambiente di tale shell, le shell sono contesti di esecuzione distinti che non condividono tra loro informazioni relative all'ambiente. Le variabili che imposti in una finestra di Terminale non vengono impostate nelle altre finestre di Terminale.
Quando chiudi una finestra di Terminale, le variabili che hai impostato in tale finestra non sono più disponibili. Se vuoi che il valore di una variabile venga conservato tra una sessione e l'altra e in tutte le finestre di Terminale, devi impostarlo in uno script di avvio della shell. Per informazioni su come modificare lo script di avvio della shell zsh in modo che conservi le variabili e altre impostazioni tra più sessioni, consulta la sezione “Invocation” della pagina man zsh.