Comment ajouter un répertoire au PATH ?

Comment ajouter un répertoire au $PATH dans Ubuntu et rendre les changements permanents ?

Solution

Utiliser ~/.profile pour définir $PATH

Un chemin défini dans .bash_profile ne sera défini que dans un shell de connexion bash (bash -l). Si vous mettez votre chemin dans .profile, il sera disponible pour toute votre session de bureau. Cela signifie que même metacity l'utilisera.

Par exemple ~/.profile :

if [ -d "$HOME/bin" ] ; then
  PATH="$PATH:$HOME/bin"
fi

En fait, vous pouvez vérifier la variable PATH d'un processus en regardant son environnement dans /proc/[pid]/environ (remplacez [pid] par le numéro de ps axf). Par exemple, utilisez grep -z "^PATH" /proc/[pid]/environ.

Note :

bash en tant que shell de connexion n'analyse pas .profile si .bash_profile ou .bash_login existe. De man bash :

il recherche ~/.bash_profile, ~/.bash_login, et ~/.profile, dans cet dans cet ordre, et lit et exécute les commandes à partir du premier qui existe et qui est lisible.

Voir les [réponses ci-dessous][1] pour des informations sur .pam_environment, ou .bashrc pour les shells interactifs sans login, ou définissez la valeur globalement pour tous les utilisateurs en mettant un script dans /etc/profile.d/ ou utilisez /etc/X11/Xsession.d/ pour affecter la session des gestionnaires d'affichage.

[1] : https://askubuntu.com/a/226947

Commentaires (11)

Editez .bashrc dans votre répertoire personnel et ajoutez la ligne suivante :

export PATH="/path/to/dir:$PATH"

Vous devrez créer votre source .bashrc ou vous déconnecter (ou redémarrer le terminal) pour que les changements prennent effet. Pour générer votre .bashrc, tapez simplement

$ source ~/.bashrc
Commentaires (8)

L'ajouter à .bashrc fonctionnera mais je pense que la manière plus traditionnelle de configurer vos variables de chemin est dans .bash_profile en ajoutant les lignes suivantes.

PATH=$PATH:/my/path/foo
export PATH

Selon [ce fil de discussion][1], il semble que le comportement d'Ubuntu soit légèrement différent de celui de RedHat et de ses clones.

[1] : http://www.linuxquestions.org/questions/linux-general-1/do-i-put-path-in-bashprofile-or-bashrc-or-both-540288/

Commentaires (5)