GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Hacer referencia a variables de entorno *en* /etc/environment?

Recientemente descubrí /etc/environment , que parece una forma más estándar de configurar variables de entorno simples que las secuencias de comandos, pero me preguntaba si había alguna forma de hacer una referencia inversa de las variables de entorno en el archivo /etc/environment.

Es decir, tengo esto:

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"

Si trato de agregar $JAVA_HOME/bin a la definición de PATH, sin embargo, obtengo $JAVA_HOME/bin, y no la variable interpolada. Para remediar esto, estoy creando environment.sh en profile.d para agregar /bin entradas al camino, pero esto parece descuidado y desorganizado.

¿Hay alguna forma de hacer una referencia inversa de las variables de entorno en /etc/environment?

Mejor respuesta

El /etc/environment el archivo es leído por pam_env módulo PAM. Solo admite pares clave-valor simples, sin sustitución en el lado derecho.

Si desea generar valor con sustituciones u otras expansiones de shell, debe pasar por un shell. /etc/profile (o un archivo en /etc/profile.d ) es el lugar adecuado para estos. Este es el lugar tradicional (/etc/environment es una innovación relativamente reciente, en la historia de los sistemas Unix), y ciertamente no hay nada de descuidado en su uso. El principal beneficio de /etc/environment es que permite establecer variables de entorno incluso con métodos de inicio de sesión que no involucran un shell o para usuarios que usan un shell que no es de Bourne, pero esto no es común en la práctica.


Ubuntu
  1. Configuración de variables de entorno de Shell | Cáscara BASH

  2. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  3. Env Vars en /etc/environment ¿No es visible globalmente?

  4. ¿Cómo se actualiza /etc/motd?

  5. Cómo leer las variables de entorno de un proceso

Cómo establecer la variable de entorno en Windows

Cómo establecer variables de entorno en MacOS

Cómo configurar/desconfigurar variables de entorno en Linux

Aprovechando las variables de entorno docker-compose

Guía fácil paso a paso de variables de entorno de Linux

Variables de entorno de Linux