Comment puis-je recharger
.bash_profile
de la ligne de commande ?
Je peux faire en sorte que le shell reconnaisse les modifications apportées à .bash_profile
en quittant et en se reconnectant, mais j'aimerais pouvoir le faire à la demande.
Comment puis-je recharger
.bash_profile
de la ligne de commande ?
Je peux faire en sorte que le shell reconnaisse les modifications apportées à .bash_profile
en quittant et en se reconnectant, mais j'aimerais pouvoir le faire à la demande.
Et si alias BASHRELOAD=". ~/.bash_profile"
. Si vous le faites souvent, vous pouvez l'aliaser en tant que br
.
Y a-t-il une raison pour laquelle je devrais faire cela à chaque fois/session ? Je n'arrive pas à faire en sorte que les modifications apportées au fichier .bash_profile persistent, même si elles sont présentes dans le fichier lorsque je l'ouvre dans un éditeur. C'est déroutant.
@erwinheiser Votre système charge-t-il le fichier ? Certains systèmes utilisent d'autres fichiers, comme ~/.bashrc.
@GrahamPHeath - à proprement parler, je pense que c'est l'inverse ; la .
est plus ancien que source
est.
Tapez simplement :
. ~/.bash_profile
Cependant, si vous voulez le source pour qu'il soit exécuté automatiquement au démarrage du terminal au lieu de l'exécuter à chaque fois que vous ouvrez le terminal, vous pouvez ajouter . ~/.bash_profile
à ~/.bashrc
fichier.
Note :
Lorsque vous ouvrez un terminal, celui-ci démarre bash en mode interactif (sans login), ce qui signifie qu'il extrait les sources suivantes ~/.bashrc
.
~/.bash_profile
n'est sourcé par bash que lorsqu'il est démarré en mode de connexion interactif . Cela ne se produit généralement que lorsque vous vous connectez à la console ( Ctrl + Alt + F1 .. F6 ), ou en se connectant via ssh
.
Si cela ne vous dérange pas de perdre l'historique de votre terminal shell actuel, vous pouvez aussi faire
bash -l
Cela ferait bifurquer votre shell et ouvrirait un autre processus enfant de bash. Le site -l
indique à bash de s'exécuter en tant que shell de connexion, ceci est nécessaire parce que .bash_profile ne s'exécutera pas en tant que shell de non-login, pour plus d'informations sur ceci lire ici
Si vous souhaitez remplacer complètement la coque actuelle, vous pouvez également le faire :
exec bash -l
Ce qui précède ne va pas forker votre shell actuel mais le remplacer complètement, donc lorsque vous tapez exit
il se terminera complètement, plutôt que de vous faire revenir au shell précédent.
Cela invoquera un shell entier dans un shell, ce qui est loin d'être idéal. Les autres options réexécutent simplement le fichier concerné, ce qui signifie qu'elles (A) sont réellement pertinentes pour la question posée et (B) n'empilent pas les shells et ne rechargent pas d'autres choses qui ne devraient pas l'être (env vars, etc.). Voici sont des moyens appropriés pour remplacer carrément le shell actuel (sans imbrication), mais comme c'est hors sujet, je laisse les lecteurs intéressés chercher ailleurs.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.