Wie von der Kommandozeile neu zu laden Bash_profile?
-
25-09-2019 - |
Frage
Wie kann ich Reload von der Kommandozeile .bash_profile
?
Ich kann die Schale zu erhalten, um Änderungen an .bash_profile
zu erkennen durch Verlassen und Protokollierung wieder in, aber ich möchte in der Lage sein, um es bei Bedarf zu tun.
Lösung
Geben Sie einfach source ~/.bash_profile
Wenn Sie alternativ wie Tastatureingaben speichern, können Sie geben . ~/.bash_profile
Andere Tipps
. ~/.bash_profile
So stellen Sie sicher, dass Sie über den aktuellen Stand in dort keine Abhängigkeiten haben.
Geben Sie einfach:
. ~/.bash_profile
Wenn Sie jedoch auf Quelle wollen es automatisch ausgeführt wird, wenn Terminal beginnt, anstatt es zu laufen jedes Mal, wenn Sie Terminal öffnen, könnten Sie . ~/.bash_profile
zu ~/.bashrc
Datei hinzufügen.
Hinweis:
Wenn Sie einen Terminal öffnen, bash das Terminal beginnt in (nicht-Login) interaktiven Modus, was bedeutet, es wird ~/.bashrc
beziehen.
~/.bash_profile
wird nur von bash stammen, wenn in interaktiver Login-Modus gestartet. Das ist in der Regel nur, wenn Sie an der Konsole anmelden ( Strg + Alt + F1 .. F6 ) oder Verbinden über ssh
.
Sie können diesen Befehl auch verwenden, um die Datei ~ / .bash_profile für diesen Benutzer neu zu laden. Achten Sie darauf, den Bindestrich zu verwenden.
su - username
Ich mag die Tatsache, dass, nachdem Sie nur die Datei bearbeitet haben, alles, was Sie brauchen Art zu tun ist:
. !$
Diese Quellen die Datei, die Sie gerade in der Geschichte bearbeitet hatte. Siehe Was ist Knall-Dollar in bash .
- Speichern Bash_profile Datei
- Home-Verzeichnis des Goto Benutzer durch Eingabe
cd
- Neu laden das Profil mit
. .bash_profile
Wenn Sie nichts dagegen haben die Geschichte der aktuellen Shell-Terminal verlieren könnten Sie auch tun
bash -l
Das Shell-Gabel würde und ein weiteres Kind Prozess der bash öffnen. Der -l
Parameter weist bash als Login-Shell ausgeführt werden, dies ist erforderlich, weil Bash_profile nicht als Nicht-Login-Shell ausgeführt wird, für weitere Informationen über diese lesen Sie hier
Wenn Sie wollen den aktuell Shell ersetzen können Sie auch tun:
exec bash -l
Das oben wird nicht Ihre aktuellen Shell-Gabel, aber es vollständig ersetzen, so dass, wenn Sie exit
geben wird es vollständig beenden, anstatt zum vorherigen Schale fallen.
In alias bashs="source ~/.bash_profile"
in Ihrer bash-Datei.
So Sie bashs
von nächstem Mal anrufen
Sie müssen nur . ~/.bash_profile
siehe: https://superuser.com/questions/46139/what-does-source-do
, wenn die Bash_profile nicht vorhanden, können Sie versuchen den folgenden Befehl ausführen:
. ~/.bashrc
oder
source ~/.bashrc
statt Bash_profile. Sie können weitere Informationen über bashrc finden
Ich wollte eine schnelle Antwort schreiben, dass, während source ~/.bash_profile
oder setzen Sie die oben genannten Werken Antworten, eine Sache zu erwähnen ist, dass dies nur neu geladen Bash Profil in den aktuellen Registerkarte oder Sitzung, die Sie sehen. Wenn Sie Ihr bash Profil auf jedem Reiter / Shell neu zu laden, müssen Sie diesen Befehl manuell von ihnen in jedem einzugeben.
Wenn Sie iTerm, Sie können verwenden CMD⌘ + Umschalttaste + I einen Befehl einzugeben in alle aktuellen Tabs . Für Terminal kann es sinnvoll sein, diese Ausgabe ;
Ich benutze Debian und ich kann einfach exec bash
geben, dies zu erreichen. Ich kann nicht sagen, wenn es auf allen anderen Distributionen funktionieren wird.
Ich bin mit Sierra und war eine Zeit lang daran gearbeitet (versuchen, alle empfohlenen Lösungen). Ich wurde so schließlich versucht, verwechselte meinen Computer neu zu starten! Es funktionierte
meine Schlussfolgerung ist, dass manchmal ein Hard-Reset ist notwendig,
alias reload!=". ~/.bash_profile"
oder wollen add Protokolle über Funktionen
function reload! () {
echo "Reloading bash profile...!"
source ~/.bash_profile
echo "Reloaded!!!"
}