GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Fare riferimento a variabili d'ambiente *in* /etc/environment?

Recentemente ho scoperto /etc/environment , che sembra un modo più standard per impostare semplici variabili di ambiente rispetto agli script, ma mi chiedevo se esistesse un modo per fare riferimento a variabili di ambiente nel file /etc/environment.

Cioè, ho questo:

JAVA_HOME="/tools/java"
GRAILS_HOME="/tools/grails"
GROOVY_HOME="/tools/groovy"
GRADLE_HOME="/tools/gradle"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

Se provo ad aggiungere $JAVA_HOME/bin alla definizione PATH, tuttavia, ottengo $JAVA_HOME/bin e non la variabile interpolata. Per rimediare, sto creando environment.sh in profile.d per aggiungere il /bin voci al percorso, ma questo sembra sciatto e disorganizzato.

C'è un modo per fare riferimento alle variabili di ambiente in /etc/environment?

Migliore risposta

Il /etc/environment il file viene letto da pam_env modulo PAM. Supporta solo semplici coppie chiave-valore, senza alcuna sostituzione sul lato destro.

Se vuoi costruire il valore con sostituzioni o altre espansioni della shell, devi passare attraverso una shell. /etc/profile (o un file in /etc/profile.d ) è il posto giusto per questi. Questo è il luogo tradizionale (/etc/environment è un'innovazione relativamente recente, nella storia dei sistemi Unix), e non c'è certamente niente di sciatto nell'usarla. Il principale vantaggio di /etc/environment è che permette di impostare variabili d'ambiente anche con metodi di login che non coinvolgono una shell o per utenti che usano una shell non Bourne, ma questi non sono nella pratica comuni.


Ubuntu
  1. Impostazione delle variabili d'ambiente della shell | BASH Shell

  2. Controllo delle variabili di ambiente

  3. Imposta un ambiente temporaneo ($PATH)

  4. Come annullare l'impostazione di molte variabili d'ambiente

  5. Come leggere le variabili d'ambiente di un processo

Come impostare la variabile d'ambiente in Windows

Come impostare le variabili d'ambiente in MacOS

Come impostare/disimpostare le variabili d'ambiente in Linux

Sfruttare le variabili d'ambiente di composizione mobile

Guida dettagliata alle variabili d'ambiente Linux

Variabili d'ambiente Linux