Comment modifier mon PATH pour que les modifications soient disponibles dans chaque session de terminal

48

Je souhaite ajouter un répertoire pour rechercher mon chemin de recherche. Je sais que je dois modifier la variable d'environnement PATH . Cependant, je souhaite que le changement soit permanent, de sorte qu'il soit toujours actif, pour chaque fenêtre Terminal (bash) que j'ouvre.

Il y a une surcharge d'informations confuses et potentiellement conflictuelles dans lien

J'utilise Ubuntu 10.04. Supposons que je veuille ajouter /usr/local/foo à mon PATH . Quel fichier ( .bashrc , .profile , .bash_login , etc ...) dois-je modifier et à quoi doivent ressembler les nouvelles lignes?

    
posée Joshua Flanagan 06.09.2010 - 18:56
la source

6 réponses

58

La commande suivante ajoute un chemin à votre chemin actuel:

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

Si vous souhaitez que votre configuration exécute cette commande à chaque fois, il existe un certain nombre d'endroits où vous pouvez la placer. Lorsque vous vous connectez, les scripts suivants seront exécutés dans cet ordre:

/etc/profile      (which starts by loading everything in /etc/profile.d)
~/.profile        (which starts by loading ~/.bashrc if you are running bash)

Notes

  • ~/.profile n'est chargé que si ~/.bash_profile et ~/.bash_login NE SONT PAS EXISTES. Sinon, au moins bash, les chargera à la place. Il est conseillé d'utiliser .profile et non les scripts spécifiques à bash. Donc, si dans ces tentatives vous avez créé .bash_login , veuillez le supprimer maintenant.

  • ~/.bashrc n'est chargé que si vous exécutez une session interactive. (quelque chose avec une invite où vous pouvez taper quelque chose).

  • ~/.bashrc est chargé encore et encore, chaque fois que vous ouvrez un nouveau terminal . Donc, un nouvel onglet dans gnome-terminal, un nouveau terminal virtuel, etc. Donc, même si vous ne vous reconnectez pas, .bashrc est chargé (et réinitialise ainsi son environnement) chaque fois que vous ouvrez un nouveau shell.

  • Des choses comme byobu devraient vraiment entrer dans .profile , (sinon cela ne fonctionnera pas; -)

  • Des choses comme les chemins devraient aller dans .profile si vous voulez qu'ils fonctionnent en dehors des sessions interactives. (dire quand vous appuyez sur Alt + F2 dans GNOME)

réponse donnée Ralf 06.09.2010 - 20:25
la source
13

Je l'ai fait fonctionner en modifiant ~/.profile

Il semble que l'ajout de ~ / bin à mon chemin ait été un mauvais exemple, car il y a déjà du code dans ~ / .profile pour le faire automatiquement, si le répertoire existe.

Pour ajouter le répertoire usr / local / foo à mon chemin à chaque session, j'ajoute / modifie la ligne suivante à la fin de mon fichier .profile:

export PATH=$PATH:/usr/local/foo

Cependant, pour que cela prenne effet, je devais me déconnecter et me reconnecter (fermer simplement la fenêtre Terminal et en ouvrir une nouvelle ne fonctionnait pas).

    
réponse donnée Joshua Flanagan 06.09.2010 - 19:07
la source
3

Pour recharger le profil

source ~/.profile
    
réponse donnée Bruno Freitas 08.12.2015 - 11:43
la source
3

Vous pouvez ajouter le chemin d'accès à /etc/environment , mais sachez qu'aucune extension du shell ne fonctionnera; la variable sera définie pour littéralement les caractères que vous entrez.

    
réponse donnée sagarchalise 08.09.2010 - 14:28
la source
0

Vous pouvez modifier le fichier .bashrc dans votre répertoire $HOME .

À la toute fin de ce fichier, ajoutez la ligne:

export PATH="$HOME/directory_to_include_in_path/:$PATH"

Vous pouvez également modifier le fichier .profile , également dans votre répertoire $HOME , y compris la ligne suivante:

PATH="$HOME/directory_to_include_in_path/:$PATH"

Cela a fonctionné pour moi.

    
réponse donnée Denner Vieira 03.06.2017 - 16:23
la source
-3
Going through the basics, I will suggest the following steps:
1. It's recommended to set environment variables in /etc/environment
2. Open the file as superuser in an editor as it's a read only file e.g.     gedit:
gksu gedit /etc/environment
3. System will need password to open it in editable mode. Enter your superuser password and get file opened in a new gedit window. 
4. Add new line at the end of file with 
export PATH=$PATH:/usr/local/foo
5. Save and close the window. It will get command back to terminal.
6. Refresh the environment by running the following command: 
. /etc/environment
7. You may check by executing the following command:
 echo $PATH
    
réponse donnée Mac 22.01.2016 - 21:00
la source

Lire d'autres questions sur les étiquettes