Hoe herlaad ik .bash_profile vanaf de opdrachtregel?

Hoe kan ik .bash_profileopnieuw laden vanaf de opdrachtregel?

Ik kan de shell wijzigingen in .bash_profilelaten herkennen door af te sluiten en weer in te loggen, maar ik zou dit graag op verzoek kunnen doen.


Antwoord 1, autoriteit 100%

Typ gewoon source ~/.bash_profile

Als u toetsaanslagen wilt opslaan, kunt u ook . ~/.bash_profile


Antwoord 2, autoriteit 5%

. ~/.bash_profile

Zorg er wel voor dat je geen afhankelijkheden hebt van de huidige staat daarin.


Antwoord 3, autoriteit 2%

Gewoon typen:

. ~/.bash_profile

Als u echter wilt dat het automatisch wordt uitgevoerd wanneer terminal start in plaats van het elke keer dat u terminal opent, moet u . ~/.bash_profilenaar ~/.bashrcbestand.

Opmerking:

Wanneer u een terminal opent, start de terminal bash in (niet-aanmelding) interactieve modus, wat betekent dat het ~/.bashrczal sourcen.

~/.bash_profileis alleen afkomstig van bash wanneer het wordt gestart in de interactieve inlogmodus. Dat is meestal alleen wanneer u inlogt op de console (Ctrl+Alt+F1..F6), of verbinding maken via ssh.


Antwoord 4

Je kunt dit commando ook gebruiken om het ~/.bash_profile voor die gebruiker opnieuw te laden. Zorg ervoor dat u het streepje gebruikt.

su - username

Antwoord 5

Ik vind het fijn dat nadat je het bestand net hebt bewerkt, je alleen maar hoeft te typen:

. !$

Hiermee wordt het bestand opgehaald dat u zojuist in de geschiedenis had bewerkt. Zie Wat is bang dollar in bash.


Antwoord 6

Als je het niet erg vindt om de geschiedenis van je huidige shell-terminal te verliezen, kun je dat ook doen

bash -l

Dat zou je schild vervormen en een ander bash-proces openen. De parameter -lvertelt bash om te draaien als een login-shell, dit is vereist omdat .bash_profile niet zal draaien als een niet-login shell, voor meer info over deze lees hier

Als u de huidige shell volledig wilt vervangen, kunt u ook het volgende doen:

exec bash -l

Het bovenstaande zal je huidige shell niet forken, maar het volledig vervangen, dus als je exittypt, wordt het volledig beëindigd, in plaats van je naar de vorige shell te laten vallen.


Antwoord 7

  1. Bewaar .bash_profilebestand
  2. Ga naar de homedirectory van de gebruiker door cd
  3. . te typen

  4. Laad het profiel opnieuw met . .bash_profile

Antwoord 8

Voeg alias bashs="source ~/.bash_profile"toe aan je bash-bestand.
Dus je kunt vanaf de volgende keer bashsbellen


Antwoord 9

Als het .bash_profile niet bestaat, kun je proberen de volgende opdracht uit te voeren:

. ~/.bashrc 

of

source ~/.bashrc

in plaats van .bash_profile.
U kunt meer informatie vinden over Bashrc


Antwoord 10

Ik wilde een snel antwoord plaatsen die tijdens het gebruik van source ~/.bash_profileof de bovenstaande antwoorden werken, één ding om te vermelden is dat dit alleen uw bashprofiel opnieuw laadt in het huidige tabblad of de sessie U bekijkt. Als u uw bashprofiel op elk tabblad / shell wilt herladen, moet u deze opdracht handmatig in elk van hen invoeren.

Als u iterM, gebruikt U kunt CMD⌘ + SHIFT gebruiken + I om een ​​opdracht in alle huidige tabbladen in te voeren . Voor Terminal kan het nuttig zijn om dit te verwijzen Probleem ;


Antwoord 11

alias reload!=". ~/.bash_profile"

of als ik logs via functies

toevoegen

function reload! () {
    echo "Reloading bash profile...!"
    source ~/.bash_profile
    echo "Reloaded!!!"
}

Antwoord 12

U hoeft alleen maar . ~/.bash_profile

Zie: https://superuser.com/Questions/46139/What-hees-source-do


Antwoord 13

Ik gebruik Debian en ik kan eenvoudig exec bashtypen om dit te bereiken. Ik kan niet zeggen of het op alle andere distributies zal werken.


Antwoord 14

Ik loop Sierra en werkte hier een tijdje aan (probeer alle aanbevolen oplossingen). Ik werd verward dus probeerde uiteindelijk mijn computer opnieuw te starten! Het werkte

Mijn conclusie is dat soms een harde reset nodig is

Other episodes