Comment recharger .bashrc sans me déconnecter et revenir?

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 :

      • Hormis les modifications apscopes au rechargement de ~/.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).

      • En d’autres termes: toute modification ponctuelle apscope au shell actuel en termes de variables shell, de fonctions shell, d’options de shell et d’historique des commandes est perdue.

    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

    TL; DR

     . ~/.bashrc 

    TMI

     . ~/.bashrc 

    . est un raccourci BASH pour la commande intégrée “source”. – Brian Showalter

     source ~/.bashrc 

    Alternative

     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 commande exec 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.