886 votes

Comment ajouter un répertoire au PATH?

Comment puis-je ajouter un répertoire au $PATH dans Ubuntu et rendre les modifications permanentes ?

4 votes

help.ubuntu.com/community/EnvironmentVariables Voici tout ce que vous devez savoir. J'ai découvert que beaucoup des informations ici étaient incorrectes ou tout du moins la méthode n'était pas suggérée. C'est un excellent morceau d'information qui vous permettra de savoir où modifier votre variable d'environnement en fonction de la raison pour laquelle vous le faites et exactement comment le faire sans tout gâcher (comme je l'ai fait en suivant certains des mauvais conseils mentionnés ci-dessus). Alors, merci pour tout le poisson !

9voto

sudo vi /etc/profile.d/SCRIPT_NAME.sh

ajoutez-y

export PATH=YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH

2 votes

sudo nano /etc/profile.d/SCRIPT_NAME.sh est plus facile pour les débutants.

1 votes

Pour les débutants, gksu gedit /etc/profile.d/SCRIPT_NAME.sh est encore plus facile.

8voto

Benny Points 4482

La manière recommandée d'éditer votre PATH est à partir du fichier /etc/environment

Exemple de sortie de /etc/environment:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Par exemple, pour ajouter le nouveau chemin de /home/username/mydir

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/username/mydir"

Ensuite, redémarrez votre PC.


Variables d'environnement à l'échelle du système

Un fichier adapté pour les paramètres des variables d'environnement qui affectent le système dans son ensemble (plutôt qu'un utilisateur particulier) est /etc/environment. Une alternative consiste à créer un fichier à cet effet dans le répertoire /etc/profile.d.

/etc/environment

Ce fichier est spécifiquement destiné aux paramètres des variables d'environnement à l'échelle du système. Ce n'est pas un fichier de script, mais il se compose plutôt d'expressions d'assignation, une par ligne.

Remarque : L'expansion des variables ne fonctionne pas dans /etc/environment.

Plus d'informations peuvent être trouvées ici : EnvironmentVariables

3 votes

La réponse la plus basse mais la plus correcte. Ce fichier est généralement auto-généré dans Ubuntu avec le chemin.

0 votes

En effet, c'est LA bonne réponse, pas les autres.

7voto

Silversleevesx Points 71

Chaque fois que je "installe" mon dossier de scripts BASH, je suis le modèle du test pour un dossier $HOME/bin qui se trouve dans la plupart des fichiers .profile des versions récentes d'Ubuntu. Je mets en place un test qui ressemble à

if [ -d "/usr/scripts" ]; then
   PATH="/usr/scripts:$PATH"
fi

Cela fonctionne presque à 100% du temps, et me permet de le modifier facilement dans un éditeur de texte GUI avec un rapide "Remplacer tout" si jamais je décide de déplacer /scripts quelque part plus proche de mon dossier $HOME. Je ne l'ai pas fait dans 6 installations d'Ubuntu, mais il y a "toujours demain." S

BZT

5voto

djavier Points 51

Ouvrez votre terminal, tapez gedit .profile et insérez ce qui suit :

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$PATH:$HOME/bin"
fi

 #la ligne suivante ajoute Bin là où vous n'avez pas de dossier Bin dans votre $HOME
    PATH="$PATH:/home/mongo/Documents/mongodb-linux-i686-2.2.2/bin"

Fermez et ouvrez le terminal, cela devrait fonctionner.

4voto

Même si les scripts système n'utilisent pas cela, dans tous les cas où l'on souhaite ajouter un chemin d'accès (par exemple, $HOME/bin) à la variable d'environnement PATH, il convient d'utiliser

PATH="${PATH:+${PATH}:}$HOME/bin"

pour l'ajout (au lieu de PATH="$PATH:$HOME/bin"), et

PATH="$HOME/bin${PATH:+:${PATH}}"

pour la préparation (au lieu de PATH="$HOME/bin:$PATH").

Cela évite le colon superflu en début/fin lorsque $PATH est initialement vide, ce qui peut avoir des effets indésirables.

Voir par exemple https://unix.stackexchange.com/questions/162891/append-to-path-like-variable-without-creating-leading-colon-if-unset

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X