Comment puis-je ajouter un répertoire au $PATH
dans Ubuntu et rendre les changements permanents?
Utiliser ~/.profil à définir PATH PATH
Un chemin tracé .bash_profile
ne sera défini que dans un shell de connexion bash (bash -l
).Si tu mets ton chemin dans .profile
il sera disponible pour votre session de bureau complète. Cela signifie que même metacity l'utilisera.
Exemple ~/.profile
:
if [ -d "$HOME/bin" ] ; then PATH="$PATH:$HOME/bin"fi
Btw, vous pouvez vérifier la variable PATH d'un processus en regardant son environnement dans /proc/[pid]/environ
(remplacez [pid] par le nombre de ps axf
). Par ex. utilisation grep -z "^PATH" /proc/[pid]/environ
Note:
bash
comme un shell de connexion n'analyse pas .profile
si l'un ou l'autre .bash_profile
ou .bash_login
exister. De man bash
:
il recherche~/.bash_profile,~/.bash_login, et~/.profile, dans cet ordre, et lit et exécute les commandes à partir de la première qui existe et qui est lisible.
Voir le réponses ci-dessous pour plus d'informations sur .pam_environment
, ou .bashrc
pour les shells interactifs sans connexion, ou définissez la valeur globalement pour tous les utilisateurs en mettant un script dans /etc/profile.d/
ou utiliser /etc/X11/Xsession.d/
pour affecter la session des gestionnaires d'affichage.
Modifier .bashrc
dans votre répertoire personnel et ajoutez la ligne suivante:
export PATH="/path/to/dir:$PATH"
Vous aurez besoin de la source de votre .bashrc
ou déconnectez-vous / connectez-vous (ou redémarrez le terminal) pour que les modifications prennent effet. Pour sourcer votre .bashrc
, tapez simplement
$ source ~/.bashrc
L'endroit recommandé pour définir permanent, à l'échelle du système les variables d'environnement s'appliquant à tous les utilisateurs sont dans:
/etc/environment
(c'est là que le défaut PATH
est défini)
Cela fonctionnera sur le bureau ou la console, gnome-terminal ou TTY, qu'il pleuve ou qu'il vente ;)
-
Pour modifier, ouvrez le terminal et tapez:
sudoedit /etc/environment
(ou ouvrez le fichier en utilisant
sudo
dans votre éditeur de texte préféré)
Pour le faire fonctionner sans redémarrer, exécutez . /etc/environment
ou source /etc/environment
. Comme ce fichier n'est qu'un simple script, il s'exécutera et attribuera le nouveau chemin au PATH
variable d'environnement. Pour vérifier exécuter env
et voir le PATH
valeur dans la liste.
Concerner:
Je pense que la manière canonique dans Ubuntu est:
-
créer un nouveau fichier sous
/etc/profile.d/
sudo vi /etc/profile.d/SCRIPT_NAME.sh
-
ajouter là:
export PATH="YOUR_PATH_WITHOUT_TRAILING_SLASH:$PATH"
-
et donnez-lui la permission d'exécuter
sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
Pour les débutants complets (comme moi) qui sont plus à l'aise avec l'interface graphique:
- Ouvrez votre
$HOME
dossier. - Aller à Vue → Afficher les Fichiers Cachés ou appuyez sur Ctrl + H.
- Faites un clic droit sur
.profile
et cliquez sur Ouvrir Avec L'Éditeur De Texte. - Faites défiler vers le bas et ajoutez
PATH="$PATH:/my/path/foo"
. - Enregistrer.
- Déconnectez-vous et reconnectez-vous pour appliquer les modifications (laissez Ubuntu se charger réellement
.profile
).
Pour les variables d'environnement persistantes disponibles uniquement pour des utilisateurs particuliers. Je recommande vivement la documentation officielle d'Ubuntu.
https://help.ubuntu.com/community/EnvironmentVariables
En me référant à la documentation ci-dessus, j'ai configuré mon Chemin du SDK Android-outils par:
- Creating
~/.pam_environment
fichier dans le répertoire personnel. - dont le contenu est
PATH DEFAULT=${PATH}:~/android-sdk-linux/tools
. - un chemin utilisateur personnalisé supplémentaire peut être ajouté en séparant les chemins avec côlon (:).
- cela nécessite se reconnecter, ce qui signifie que vous devez vous déconnecter et vous reconnecter à l'environnement de bureau.
Mettez cette ligne dans votre ~/.bashrc
fichier.
Il est sourcé chaque fois que vous ouvrez un terminal
MODIFIER: Basé sur les commentaires ci-dessous, pour un paramètre plus général qui s'appliquera à tous les shells (y compris lorsque vous frappez Alt-F2 dans Unity), ajoutez la ligne à votre ~/.profile
fichier. Vous ne devriez probablement pas faire les deux cependant, car le chemin sera ajouté deux fois à votre PATH
environnement si vous ouvrez un terminal.
Pour le définir à l'échelle du système, ajoutez la ligne export PATH=/path/you're/adding:$PATH
jusqu'au bout de /etc/profile
.
Pour ajouter le répertoire réservé à l'utilisateur connecté, ajoutez la même ligne à ~/.bash_profile
.
L'ajouter à .bashrc fonctionnera mais je pense que la manière la plus traditionnelle de configurer vos variables path est dedans .bash_profile en ajoutant les lignes suivantes.
PATH=$PATH:/my/path/fooexport PATH
Selon ce fil il semble que le comportement d'Ubuntu soit légèrement différent de celui de RedHat et des clones.
Dans le terminal, cd
de the_directory_you_want_to_add_in_the_path
echo "export PATH=$(pwd):\${PATH}" >> ~/.bashrc
Ce n'était pas mon idée. J'ai trouvé cette façon d'exporter le chemin à ceci blog ici.
EnvironmentVariables - Community Help Wiki Il y a tout ce que vous devez savoir. J’ai découvert qu’une grande partie de l’entrée ici était incorrecte ou du moins que la méthode n’était pas suggérée. C’est une excellente 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 susmentionnés). Si longtemps, et merci pour tous les poissons!