Lorsque j'entre un ex. un nouvel alias dans mon .bashrc
fichier, je ne peux pas l'utiliser immédiatement dans cette fenêtre de terminal et jusqu'à récemment, je pensais que je devais redémarrer le terminal pour recharger le .bashrc
fichier. Puis j'ai découvert quelque part que si j'écris
. .bashrc
cela rechargera le .bashrc
fichier dans la fenêtre actuelle et je n'ai pas à redémarrer. Cela fonctionne, mais que se passe-t-il réellement? Pourquoi cela recharge-t-il le .bashrc
fichier?
.
, vous "sourcez" le fichier. Ce qui signifie qu'il est exécuté essentiellementRéponses:
Parce que
.
c'est une commande.Il s'agit d'une commande intégrée au shell, qui lit le fichier nommé et y exécute les commandes dans le processus shell actuel.
Le shell Bourne Again a également
source
comme synonyme de cette commande. Mais c'est un bashisme (que le shell Bourne Again a pris du C Shell). Bien que ce soit un bashisme que le shell Bourne Again partage avec le shell TENEX C, le shell Z et d'autres (mais pas le shell Korn, note). La spécification UNIX unique standardise uniquement.
.Notez également que le comportement de
.
/source
change subtilement selon que le shell Bourne Again est exécuté en mode compatible POSIX ou non. (Encore une fois, c'est comme les autres shells, bien que leurs comportements non standard ne soient pas identiques les uns aux autres. Avec le Z Shell, par exemple, il existe un mécanisme de script de shell précompilé, etsource
diffère subtilement de la.
gestion de son chemin de recherche. Le Korn shell.
exécutera des fonctions shell, pour un autre exemple.)~/.bashrc
est simplement l'un des nombreux fichiers dont le contenu (dépendant de la façon dont le processus de shell est appelé) provient automatiquement au démarrage du shell. Rien ne l'empêche d'être sourcé manuellement . Bien que si ses actions ne sont pas idempotentes, vous pourriez avoir un travail de correction à faire par la suite.Lectures complémentaires
la source
help .
vous dirait:Dire
. .bashrc
exécute (sources) le fichier.bashrc
qui rend les modifications apportées au fichier disponibles dans la session en cours.Par défaut,
~/.bashrc
serait lu lors de la connexion..
est synonyme desource
.la source
La
.
commande est la même chose que lasource
commande, qui exécute votre.bashrc
fichier. Cela ajoute tous les alias que vous avez définis et tous les autres paramètres / variables du shell dans l'environnement actuel. Depuissource
la page d'aide de:la source