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 veux que le changement soit permanent, afin qu'il soit toujours en vigueur, pour chaque fenêtre de terminal (bash) que j'ouvre.
Il existe une surcharge d'informations source de confusion et éventuellement de conflit dans https://help.ubuntu.com/community/EnvironmentVariables
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 devrait ressembler la ou les nouvelles lignes?
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, vous pouvez la placer à plusieurs endroits. 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
N'EXISTENT PAS. 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
, , supprimez-le maintenant.
~/.bashrc
n'est chargé que si vous exécutez une session interactive. (quelque chose avec une invite où vous pouvez réellement taper quelque chose).
~/.bashrc
est chargé à plusieurs reprises, chaque fois que vous ouvrez un nouveau terminal . Donc, un nouvel onglet dans gnome-terminal, un nouveau terminal virtuel, etc. Ainsi, 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 ;-)
Les éléments tels que les chemins doivent aller dans .profile
si vous voulez qu’ils fonctionnent en dehors des sessions interactives. (dites quand vous appuyez sur Alt+F2 dans GNOME)
Je l'ai fait fonctionner en modifiant ~/.profile
Il semble que l'ajout de ~/bin à mon chemin soit un mauvais exemple, car il existe 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 d'accès à 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 la fenêtre du terminal et en ouvrir une nouvelle ne fonctionnait PAS).
Pour recharger .profile et appliquer des modifications sans déconnexion/connexion, exécutez:
source ~/.profile
Vous pouvez ajouter le chemin à /etc/environment
, mais sachez qu'aucune extension Shell ne fonctionnera. la variable sera définie pour littéralement les caractères que vous entrez.
Si vous avez ohmyzsh, allez dans votre répertoire personnel via le terminal et tapez
nano .zshrc
À la fin du fichier, entrez
export PATH = "$ HOME/directory_to_include_in_path//: $ PATH"
Enfin, redémarrez votre terminal. Travaillé pour moi J'espère que c'était utile.
Vous pouvez modifier le fichier .bashrc
dans votre répertoire $HOME
.
A 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.