Comment ajouter un répertoire au $PATH
dans Ubuntu et rendre les changements permanents ?
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
.
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.
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
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.