web-dev-qa-db-fra.com

Comment recharger .bash_profile à partir de la ligne de commande?

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.

796
markdorison

Il suffit de taper source ~/.bash_profile

Alternativement, si vous aimez sauvegarder les frappes, vous pouvez taper . ~/.bash_profile

1534
SiegeX
. ~/.bash_profile

Assurez-vous simplement que vous ne dépendez pas de l'état actuel.

88
Carl Norum

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.

28
Mohammad Anini

Vous pouvez également utiliser cette commande pour recharger le fichier ~/.bash_profile pour cet utilisateur. Assurez-vous d'utiliser le tiret.

su - username
14
user1003932
  1. Enregistrer .bash_profile fichier 
  2. Allez au répertoire personnel de l'utilisateur en tapant cd 
  3. Recharger le profil avec . .bash_profile 
11
Mithun Khatri

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 .

9
hyper_st8

il vous suffit de taper . ~/.bash_profile

se référer: https://superuser.com/questions/46139/what-does-source-do

3
Jenil Mewada

Ajoutez alias bashs="source ~/.bash_profile" dans votre fichier bash ..__ afin que vous puissiez appeler bashs à partir de la prochaine fois

3
Shemeer M Ali

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

2
3p3ch3

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.

2
Ulukai

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 ;

2
aug
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!!!"
}
1
7urkm3n

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.

1
Cassandra

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

0
Mike Palmice