web-dev-qa-db-fra.com

Définition d'une variable d'environnement persistante dans le problème CentOS 7

J'ai essayé de définir des variables d'environnement qui seraient enregistrées au redémarrage, mais sans succès.

Lorsque je définit des variables à l'aide de la commande export ou setenv, en tant que root ou tout autre utilisateur, il est enregistré sur la session jusqu'au redémarrage. Après le redémarrage, les variables sont perdues.

En particulier, je dois définir $Java_HOME.

Donc j'aime ça

enter image description here

mais rien ne fonctionne comme je l'ai indiqué.

Qu'est-ce que je fais mal?

16
Developer

Selon votre Shell, il doit généralement y avoir un .<shellnamehere>rc fichier dans lequel vous pouvez stocker ces variables que vous souhaitez conserver pendant les événements de déconnexion et de redémarrage. .bashrc est l'endroit où vous le faites si votre choix Shell est bash

MODIFIER : dans le terminal, exécutez la commande

env | grep Shell

si tu vois Shell=bash puis exécutez cette commande:

echo 'export Java_HOME="/usr/lib/jvm/Java-1.8.0-openjdk-1.8.0.71-2.b15.el7_2.x86_64"' >> $HOME/.bashrc

cette dernière commande a quelques hypothèses. Si votre Shell n'apparaît pas comme bash revenez ici et signalez ce que vous obtenez. Après une déconnexion et une nouvelle connexion si vous ne voyez pas votre variable déjà définie, revenez à nouveau et signalez les messages d'erreur que vous voyez, le cas échéant.

16
MelBurslan

S'il s'agit de définir Java_HOME à l'échelle du système, /etc/profile.d/ serait un bon choix.

echo export Java_HOME="put path to Java home here">/etc/profile.d/javaenv.sh
chmod 0755 /etc/profile.d/javaenv.sh

lors de votre prochaine connexion, vous l'aurez

18
Tagwint