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 quittant et en me reconnectant, mais j'aimerais pouvoir le faire à la demande.
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 quittant et en me reconnectant, mais j'aimerais pouvoir le faire à la demande.
Réponses:
Tapez simplement source ~/.bash_profile
Alternativement, si vous aimez enregistrer les frappes, vous pouvez taper . ~/.bash_profile
alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
. ~/.bash_profile
Assurez-vous simplement de ne pas avoir de dépendances sur l'état actuel.
.
commande dans ce cas?
.
est simplement un alias pour la source
commande.
.
est plus ancienne que l' source
est plus .
source
est une implémentation spécifique à bash de.
.
et source
sont littéralement la même chose dans bash. Du lien: " source
est un synonyme de point / point .
" dans bash, mais pas dans POSIX sh, donc pour une compatibilité maximale, utilisez le point. "
Tapez simplement:
. ~/.bash_profile
Cependant, si vous souhaitez le faire fonctionner automatiquement au démarrage du terminal au lieu de l'exécuter à chaque fois que vous ouvrez le terminal, vous pouvez l'ajouter . ~/.bash_profile
au ~/.bashrc
fichier.
Remarque:
Lorsque vous ouvrez un terminal, le terminal démarre bash en mode interactif (sans connexion), ce qui signifie qu'il se source ~/.bashrc
.
~/.bash_profile
n'est fourni par bash qu'au démarrage en mode de connexion interactif . C'est généralement uniquement lorsque vous vous connectez à la console ( Ctrl+ Alt+ F1.. F6) ou lorsque vous vous connectez via ssh
.
Vous pouvez également utiliser cette commande pour recharger le ~ / .bash_profile pour cet utilisateur. Assurez-vous d'utiliser le tiret.
su - username
J'aime le fait qu'après avoir édité le fichier, il vous suffit de taper:
. !$
Cela source le fichier que vous venez de modifier dans l'historique. Voir What is bang dollar in bash .
cd
. .bash_profile
cd
. Pas besoin de ~
.
cd
- vous pouvez simplement le recharger à partir du répertoire dans lequel vous vous trouvez actuellement:. ~/.bash_profile
Si cela ne vous dérange pas de perdre l'historique de votre terminal shell actuel, vous pouvez également le faire
bash -l
Cela bifurquerait votre shell et ouvrirait un autre processus enfant de bash. Le -l
paramètre indique à bash de s'exécuter en tant que shell de connexion, ceci est obligatoire car .bash_profile ne s'exécutera pas en tant que shell sans connexion, pour plus d'informations à ce sujet, lisez ici
Si vous souhaitez remplacer complètement le shell actuel, vous pouvez également faire:
exec bash -l
Ce qui précède ne bifurquera pas votre shell actuel mais le remplacera complètement, donc lorsque vous tapez, exit
il se terminera complètement, plutôt que de vous déposer dans le shell précédent.
Ajoutez-le alias bashs="source ~/.bash_profile"
à votre fichier bash. Vous pouvez donc appeler bashs
de la prochaine fois
reset
- plus facile à retenir
si le .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
Je voulais poster une réponse rapide qui, tout en utilisant source ~/.bash_profile
ou les réponses mentionnées ci-dessus fonctionne, une chose à mentionner est que cela ne recharge que votre profil bash dans l'onglet ou la session actuelle que vous consultez. 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+ Ipour entrer une commande dans tous les onglets actuels . Pour le terminal, il peut être utile de référencer ce problème ;
il suffit de taper . ~/.bash_profile
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.
. .bash_profile
dans votre répertoire personnel sur Mac fera l'affaire. Identique à la réponse donnée ci-dessus par 7urkm3n.
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!!!"
}
. ~/. bash_profile
nisource ~/.bash_profile
J'exécute Sierra et y travaillais depuis un certain temps (essayant toutes les solutions recommandées). Je suis devenu confus alors j'ai finalement essayé de redémarrer mon ordinateur! Ça a marché
ma conclusion est que parfois une réinitialisation matérielle est nécessaire
alias BASHRELOAD=". ~/.bash_profile"
. Si vous faites cela souvent, vous pouvez simplement l'aliaser en tant quebr
.