Recientemente descubrí /etc/environment
, lo que parece una forma más estándar de configurar variables de entorno simples que los scripts, pero me preguntaba si había una forma de hacer referencia a 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"
$JAVA_HOME/bin
Sin embargo, si intento agregar a la definición de RUTA, obtengo $ JAVA_HOME / bin, y no la variable interpolada. Para remediar esto, estoy creando environment.sh en profile.d para agregar las /bin
entradas a la ruta, pero esto parece descuidado y desorganizado.
¿Hay alguna manera de hacer referencia a las variables de entorno en / etc / environment?
fuente
/etc/environment
, recurrí/etc/profile
, gracias por tu sugerencia.La documentación de Ubuntu hace que esto parezca imposible. Pero hay una respuesta.
RESPUESTA : Cree variables de entorno persistentes en todo el sistema en
/etc/.bashrc
Detalles:
Aquí hay más detalles de la documentación de Variables de entorno .
La recomendación oficial es usar
/etc/environment
, como lo ha intentado. El problema es que este archivo no es un archivo de script. En otras palabras, no puede usar variables en declaraciones de variables.La documentación continúa con otros 2 archivos "No recomendados"
/etc/profile
y/etc/bash.bashrc
./etc/profile
"hace poco más que invocar el archivo /etc/bash.bashrc". Entonces en lugar de elegir/etc/bash.bashrc
porque "Ubuntu está configurado de forma predeterminada para ejecutar este archivo cada vez que un usuario ingresa a un shell o al entorno de escritorio".fuente