GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Référencer les variables d'environnement *dans* /etc/environment ?

J'ai récemment découvert /etc/environment , qui semble être un moyen plus standard de configurer des variables d'environnement simples que des scripts, mais je me demandais s'il existait un moyen de référencer les variables d'environnement dans le fichier /etc/environment.

C'est-à-dire que j'ai ceci :

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 j'essaie d'ajouter $JAVA_HOME/bin à la définition PATH, cependant, j'obtiens $JAVA_HOME/bin, et non la variable interpolée. Pour remédier à cela, je crée environment.sh dans profile.d pour ajouter le /bin entrées dans le chemin, mais cela semble bâclé et désorganisé.

Existe-t-il un moyen de référencer les variables d'environnement dans /etc/environment ?

Meilleure réponse

Le /etc/environment le fichier est lu par le pam_env Module PAM. Il ne prend en charge que les paires clé-valeur simples, sans substitution sur le côté droit.

Si vous souhaitez construire la valeur avec des substitutions ou d'autres extensions de shell, vous devez passer par un shell. /etc/profile (ou un fichier dans /etc/profile.d ) est le bon endroit pour ceux-ci. C'est l'endroit traditionnel (/etc/environment est une innovation relativement récente, dans l'histoire des systèmes Unix), et il n'y a certainement rien de bâclé à l'utiliser. Le principal avantage de /etc/environment est qu'il permet de définir des variables d'environnement même avec des méthodes de connexion qui n'impliquent pas de shell ou pour les utilisateurs qui utilisent un shell non Bourne, mais ce n'est pas courant dans la pratique.


Ubuntu
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Les variables d'environnement dans /etc/environment ne sont pas globalement visibles ?

  3. Comment /etc/motd est-il mis à jour ?

  4. Comment transmettre des variables d'environnement aux conteneurs Docker

  5. Vérification des variables d'environnement

Comment définir une variable d'environnement dans Windows

Comment définir des variables d'environnement dans MacOS

Comment définir/annuler les variables d'environnement sous Linux

Tirer parti des variables d'environnement docker-compose

Guide facile étape par étape des variables d'environnement Linux

Variables d'environnement Linux