GNU/Linux >> Znalost Linux >  >> Ubuntu

Odkazování na proměnné prostředí *v* /etc/environment?

Nedávno jsem objevil /etc/environment , což se zdá být standardnějším způsobem nastavení jednoduchých proměnných prostředí než skripty, ale zajímalo by mě, jestli existuje způsob, jak zpětně odkazovat na proměnné prostředí v souboru /etc/environment.

To znamená, že mám toto:

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"

Pokud se pokusím přidat $JAVA_HOME/bin k definici PATH však dostanu $JAVA_HOME/bin a ne interpolovanou proměnnou. Abych to napravil, vytvářím environment.sh v profile.d k přidání /bin vstupy do cesty, ale zdá se to nedbalé a neuspořádané.

Existuje způsob, jak zpětně odkazovat na proměnné prostředí v /etc/environment?

Nejlepší odpověď

/etc/environment soubor čte pam_env modul PAM. Podporuje pouze jednoduché páry klíč–hodnota, bez substituce na pravé straně.

Pokud chcete vytvořit hodnotu pomocí substitucí nebo jiných expanzí shellu, musíte projít shellem. /etc/profile (nebo soubor v /etc/profile.d ) je pro ně tím správným místem. Toto je tradiční místo (/etc/environment je relativně nedávná inovace v historii unixových systémů) a na jejím používání rozhodně není nic nedbalého. Hlavní výhoda /etc/environment spočívá v tom, že umožňuje nastavení proměnných prostředí i pomocí přihlašovacích metod, které nezahrnují shell, nebo pro uživatele, kteří používají jiný shell než Bourne, ale ty nejsou v praxi běžné.


Ubuntu
  1. Nastavení proměnných prostředí prostředí | BASH Shell

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Jak se aktualizuje /etc/motd?

  1. Proměnné Env v /etc/environment nejsou globálně viditelné?

  2. Jak předávat proměnné prostředí do kontejnerů Docker

  3. Jak číst proměnné prostředí procesu

  1. Kontrola proměnných prostředí

  2. Nastavit dočasné prostředí ($PATH)

  3. Jak zrušit nastavení mnoha proměnných prostředí