Comment puis-je recharger .bash_profile
à partir de la ligne de commande? Je peux faire en sorte que le shell reconnaisse les modifications apportées à .bash_profile
en sortant et en se reconnectant, mais j'aimerais pouvoir le faire à la demande.
Il suffit de taper source ~/.bash_profile
Alternativement, si vous aimez sauvegarder les frappes, vous pouvez taper . ~/.bash_profile
. ~/.bash_profile
Assurez-vous simplement que vous ne dépendez pas de l'état actuel.
Tapez simplement:
. ~/.bash_profile
Toutefois, si vous voulez que le code source 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
au fichier ~/.bashrc
.
Note:
Lorsque vous ouvrez un terminal, celui-ci démarre en mode interactif (sans connexion), ce qui signifie qu'il source ~/.bashrc
.
~/.bash_profile
provient uniquement de bash lorsqu'il est démarré en mode de connexion interactif. C’est généralement le cas uniquement lorsque vous vous connectez à la console (Ctrl+Alt+F1..F6), ou en se connectant via ssh
.
Vous pouvez également utiliser cette commande pour recharger le fichier ~/.bash_profile pour cet utilisateur. Assurez-vous d'utiliser le tiret.
su - username
cd
. .bash_profile
J'aime le fait qu'après avoir édité le fichier, tout ce que vous avez à faire est de taper:
. !$
Cette source le fichier que vous venez de modifier dans l'historique. Voir Qu'est-ce que Bang Dollar en Bash .
il vous suffit de taper . ~/.bash_profile
se référer: https://superuser.com/questions/46139/what-does-source-do
Ajoutez alias bashs="source ~/.bash_profile"
dans votre fichier bash ..__ afin que vous puissiez appeler bashs
à partir de la prochaine fois
si le fichier .bash_profile n'existe pas, vous pouvez essayer d'exécuter la commande suivante:
. ~/.bashrc
ou
source ~/.bashrc
au lieu de .bash_profile . Vous pouvez trouver plus d’informations sur bashrc
Si cela ne vous dérange pas de perdre l’historique de votre terminal Shell actuel, vous pouvez également le faire.
bash -l
Cela créerait votre Shell et ouvrirait un autre processus enfant de bash. Le paramètre -l
indique à bash de s’exécuter en tant que shell de connexion. Cette opération est obligatoire car .bash_profile ne s’exécutera pas en tant que shell sans connexion. Pour plus d’informations sur ceci lu ici
Si vous souhaitez remplacer complètement le shell actuel, vous pouvez également effectuer les tâches suivantes:
exec bash -l
Ce qui précède ne va pas modifier votre shell actuel, mais le remplacer complètement. Par conséquent, lorsque vous tapez exit
, il se terminera complètement au lieu de vous laisser tomber dans le précédent shell.
Je voulais poster une réponse rapide: si vous utilisez source ~/.bash_profile
ou les réponses mentionnées ci-dessus, une chose à mentionner est que cela ne fait que recharger votre profil bash dans l'onglet ou la session en cours que vous visualisez. Si vous souhaitez recharger votre profil bash sur chaque onglet/shell, vous devez entrer cette commande manuellement dans chacun d’eux.
Si vous utilisez iTerm, vous pouvez utiliser CMD⌘+Shift+I pour entrer une commande dans tous les onglets actuels . Pour terminal, il peut être utile de faire référence à ceci numéro ;
alias reload!=". ~/.bash_profile"
ou si vous voulez ajouter des journaux via des fonctions
function reload! () {
echo "Reloading bash profile...!"
source ~/.bash_profile
echo "Reloaded!!!"
}
J'utilise Debian et je peux simplement taper exec bash
pour y parvenir. Je ne peux pas dire si cela fonctionnera sur toutes les autres distributions.
J'utilise Sierra et j'y travaillais depuis un moment (en essayant toutes les solutions recommandées). Je suis devenu confus alors finalement essayé de redémarrer mon ordinateur! Ça a marché
ma conclusion est que parfois une réinitialisation matérielle est nécessaire