Hoe kan ik .bash_profile
opnieuw laden vanaf de opdrachtregel?
Ik kan de shell wijzigingen in .bash_profile
laten 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_profile
naar ~/.bashrc
bestand.
Opmerking:
Wanneer u een terminal opent, start de terminal bash in (niet-aanmelding) interactieve modus, wat betekent dat het ~/.bashrc
zal sourcen.
~/.bash_profile
is 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 -l
vertelt 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 exit
typt, wordt het volledig beëindigd, in plaats van je naar de vorige shell te laten vallen.
Antwoord 7
- Bewaar .bash_profilebestand
- Ga naar de homedirectory van de gebruiker door
cd
- Laad het profiel opnieuw met
. .bash_profile
. te typen
Antwoord 8
Voeg alias bashs="source ~/.bash_profile"
toe aan je bash-bestand.
Dus je kunt vanaf de volgende keer bashs
bellen
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_profile
of 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⌘ kbd>+ SHIFT gebruiken kbd>+ I kbd>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 bash
typen 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