Comment exporter de façon permanente une variable sous Linux?
J'exécute RHEL6, et j'ai exporté une variable d'environnement comme ceci:
export DISPLAY=:0
cette variable est perdue lorsque le CMD est fermé. Comment puis-je ajouter cela de façon permanente pour que cette valeur variable existe toujours avec un utilisateur particulier?
5 réponses
vous pouvez l'ajouter à votre fichier de configuration shell, par exemple $HOME/.bashrc
ou plus globalement dans /etc/environment
.
vous devez éditer trois fichiers pour définir une variable d'environnement permanente comme suit:
-
~/.bashrc
Lorsque vous ouvrez une fenêtre de terminal, ce fichier sera exécuté. Par conséquent, si vous souhaitez avoir une variable d'environnement permanente dans toutes vos fenêtres de terminal, vous devez ajouter la ligne suivante à la fin de ce fichier:
export DISPLAY=0 -
~/.profil
Comme bashrc vous devez mettre la ligne de commande mentionnée à la fin de ce fichier pour avoir votre variable d'environnement dans chaque login de votre système D'exploitation.
-
/CTE / environnement
Si vous voulez votre variable d'environnement dans chaque windows ou application ( pas seulement la fenêtre du terminal ) vous devez éditer ceci fichier. Ajouter la commande suivante à la fin de ce fichier:
affichage=0
Notez que dans ce fichier vous n'avez pas à écrire exportation commande
normalement, vous devez redémarrer votre ordinateur pour appliquer ces changements. Mais vous pouvez appliquer des modifications dans bashrc et profil par ces commandes:
$ source ~/.bashrc
$ source ~/.profile
Mais pour /etc/environnement vous avez pas d'autre choix que de redémarrer ( pour autant que je sais )
Une Solution Simple
#!/bin/bash
echo "Enter variable name: "
read variable_name
echo "Enter variable value: "
read variable_value
echo "adding " $variable_name " to environment variables: " $variable_value
echo "export "$variable_name"="$variable_value>>~/.bashrc
echo $variable_name"="$variable_value>>~/.profile
echo $variable_name"="$variable_value>>/etc/environment
source ~/.bashrc
source ~/.profile
echo "do you want to restart your computer to apply changes in /etc/environment file? yes(y)no(n)"
read restart
case $restart in
y) sudo shutdown -r 0;;
n) echo "don't forget to restart your computer manually";;
esac
exit
enregistrer ces lignes dans un fichier shfile puis le rendre exécutable et juste l'exécuter!
ajoutez la ligne à votre .bashrc
ou .profile
. Les variables définies dans $HOME/.profile
sont actives pour l'utilisateur courant, celles de /etc/profile
sont globales. Le .bashrc
est tiré à chaque début de session de bash.
sur les systèmes Ubuntu, utilisez les emplacements suivants:
-
à l'échelle du Système persistant variables dans le format de
JAVA_PATH=/usr/local/java
magasin/etc/environment
-
variables persistantes à l'échelle du système qui font référence à des variables telles que
export PATH="$JAVA_PATH:$PATH"
stock in/etc/.bashrc
-
variables persistantes spécifiques à l'utilisateur dans le format de
PATH DEFAULT=/usr/bin:usr/local/bin
magasin~/.pam_environment
pour plus de détails sur #2, consultez ceci Ask Ubuntu réponse . NOTE: #3 est la recommandation Ubuntu mais peut avoir des préoccupations de sécurité dans le monde réel.
un exemple particulier:
J'ai installé Java 7 et Java 6, j'ai besoin d'exécuter certaines constructions avec 6, d'autres avec 7. Par conséquent, je dois modifier dynamiquement JAVA_HOME
de sorte que maven ramasse ce que je veux pour chaque construction. J'ai fait ce qui suit:
- a créé
j6.sh
script qui exporte simplementJAVA_HOME=...
chemin vers J6 install... - ensuite, comme suggéré par l'un des commentaires ci-dessus, chaque fois que j'ai besoin de J6 pour une construction, j'exécute source
j6.sh
dans ce terminal de commande respectif. Par défaut, monJAVA_HOME
est défini à J7.
Espérons que cette aide.