GNU/Linux >> Tutoriels Linux >  >> Linux

Comment exporter définitivement une variable sous Linux ?

Sur les systèmes Ubuntu, utilisez les emplacements suivants :

  1. Variables persistantes à l'échelle du système au format JAVA_PATH=/usr/local/java stocker dans

    /etc/environment
    
  2. Variables persistantes à l'échelle du système qui font référence à des variables telles que
    export PATH="$JAVA_PATH:$PATH" stocker dans

    /etc/.bashrc
    
  3. Variables persistantes spécifiques à l'utilisateur au format PATH DEFAULT=/usr/bin:usr/local/bin stocker dans

    ~/.pam_environment
    

Pour plus de détails sur # 2, consultez cette réponse Ask Ubuntu. REMARQUE :# 3 est la recommandation Ubuntu mais peut avoir des problèmes de sécurité dans le monde réel.


Vous pouvez l'ajouter à votre fichier de configuration shell, par ex. $HOME/.bashrc ou plus globalement en /etc/environment .Après avoir ajouté ces lignes, les modifications ne seront pas reflétées instantanément dans les systèmes basés sur l'interface graphique, vous devez quitter le terminal ou en créer un nouveau et déconnecter le serveur de la session et vous connecter pour refléter ces modifications.


ajoutez la ligne à votre .bashrc ou .profile . Les variables définies dans $HOME/.profile sont actifs pour l'utilisateur courant, ceux en /etc/profile sont mondiaux. Le .bashrc est extrait à chaque démarrage de session bash.


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

    Identique à bashrc vous devez mettre la ligne de commande mentionnée à la fin de ce fichier pour avoir votre variable d'environnement dans chaque connexion de votre système d'exploitation.

  • /etc/environnement

    Si vous voulez votre variable d'environnement dans chaque fenêtre ou application (pas seulement la fenêtre du terminal), vous devez modifier ce fichier. Ajoutez la commande suivante à la fin de ce fichier :

    DISPLAY=0
    

    Notez que dans ce fichier vous n'avez pas à écrire export commande

Normalement, vous devez redémarrer votre ordinateur pour appliquer ces modifications. Mais vous pouvez appliquer des modifications dans bashrc et profil par ces commandes :

$ source ~/.bashrc
$ source ~/.profile

Mais pour /etc/environment vous n'avez pas d'autre choix que de redémarrer (pour autant que je sache)

Une solution simple

J'ai écrit un script simple pour que ces procédures fassent tout ce travail. Il vous suffit de définir le nom et la valeur de votre variable d'environnement.

#!/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

Enregistrez ces lignes dans un fichier sh, puis rendez-le exécutable et lancez-le !


Linux
  1. Apprenez à définir vos variables $PATH de manière permanente sous Linux

  2. Comment affecter la sortie d'une commande Linux à une variable

  3. Comment ajouter un répertoire à PATH sous Linux [avec exemples]

  4. Comment changer la variable PATH sous Linux

  5. Comment définir définitivement $PATH sous Linux/Unix ?

Comment stocker une commande Linux en tant que variable dans un script shell

Comment ajouter un répertoire à PATH sous Linux [Astuce rapide]

Comment désactiver définitivement Swap sous Linux

Explication de la commande d'exportation sous Linux

Commande d'exportation sous Linux

Comment définir $PATH dans le système Linux de manière permanente