Si je modifie le .bashrc
, comment puis-je le recharger sans me déconnecter?
Vous devez juste entrer la commande:
source ~/.bashrc
ou vous pouvez utiliser la version plus courte de la commande:
. ~/.bashrc
ou vous pourriez utiliser;
exec bash
fait la même chose (et plus facile à retenir, du moins pour moi)
La commande exec remplace le shell avec un programme donné, dans notre exemple, il remplace notre shell par bash (avec les fichiers de configuration mis à jour)
Compléter et contraster les deux réponses les plus populaires,. . ~/.bashrc
et exec bash
:
Les deux solutions rechargent efficacement ~/.bashrc
, mais il existe des différences:
source ~/.bashrc
conservera votre shell actuel :
~/.bashrc
dans le shell courant ( sourcing ), le shell actuel et son état sont préservés , ce qui inclut les variables d’environnement, les variables shell, les options de shell, les fonctions de shell et l’historique des commandes. exec bash
, ou, plus robuste, exec "$BASH"
[1] , remplacera votre shell actuel par une nouvelle instance, et ne conservera donc que les variables d’environnement de votre shell actuel (y compris celles que vous avez définies ad hoc).
Selon vos besoins, l’une ou l’autre approche peut être préférée.
[1] exec bash
pourrait en théorie exécuter un autre exécutable bash
que celui qui a lancé le shell actuel, s’il se trouve dans un répertoire répertorié précédemment dans $PATH
. Comme la variable spéciale $BASH
contient toujours le chemin complet de l’exécutable qui a lancé le shell actuel, exec "$BASH"
est garanti pour utiliser le même exécutable.
Une note re "..."
autour de $BASH
: les doubles guillemets garantissent que la valeur de la variable est utilisée telle quelle, sans interprétation par Bash; Si la valeur n’a pas d’espaces incorporés ou d’autres métacaractères de shell (ce qui n’est pas probable dans ce cas), vous n’avez pas ssortingctement besoin de guillemets, mais leur utilisation est une bonne habitude à former.
Quelqu’un a modifié ma réponse pour append un anglais incorrect, mais voici l’original, qui est inférieur à la réponse acceptée.
. .bashrc
Selon votre environnement, il suffit de taper
bash
peut aussi fonctionner.
Avec cela, vous n’aurez même pas à taper “source ~ / .bashrc”:
Incluez votre fichier bashrc:
alias rc="vim ~/.bashrc && source ~/.bashrc"
Chaque fois que vous voulez modifier votre bashrc, lancez simplement l’alias ” rc ”
. ~/.bashrc
. ~/.bashrc
. est un raccourci BASH pour la commande intégrée “source”. – Brian Showalter
source ~/.bashrc
exec bash
source
est une commande shell intégrée qui exécute le contenu du fichier passé en argument, dans le shell actuel .exec
commandeexec
remplace le shell par un programme donné …- – WhoSayIn
type:
source .bashrc
j’utilise la commande suivante sur msysgit
. ~/.bashrc
version plus courte de
source ~/.bashrc
Cela fonctionnera également ..
cd ~ source .bashrc
J’ai remarqué que la commande pure exec bash
préservera les variables d’environnement. Vous devez donc utiliser exec -c bash
pour exécuter bash dans un environnement vide.
Par exemple, vous vous connectez à un bash et export A=1
, si vous exec bash
, le A == 1
.
Si vous exec -cl bash
, A
est vide.
Je pense que c’est la meilleure façon de faire votre travail.
Pour moi, ce qui fonctionne quand je change le PATH est: exec "$BASH" --login
j’ai personnellement
alias ..='source ~/.bashrc'
dans mon bashrc, de sorte que je puisse juste utiliser “..” pour le recharger.