Wie kann ich
.bash_profile
über die Befehlszeile neu laden ?
Ich kann die Shell dazu bringen, Änderungen zu erkennen, .bash_profile
indem ich sie beende und mich wieder anmelde, aber ich möchte dies bei Bedarf tun können.
bash
shell
command-line
Markdorison
quelle
quelle
alias BASHRELOAD=". ~/.bash_profile"
. Wenn Sie dies häufig tun, können Sie es einfach als Alias verwendenbr
.alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
Stellen Sie einfach sicher, dass Sie dort keine Abhängigkeiten vom aktuellen Status haben.
quelle
.
Befehl in diesem Fall?.
ist einfach ein Alias für densource
Befehl..
ist älter als essource
ist.source
ist eine bash-spezifische Implementierung von.
.
undsource
sind buchstäblich das gleiche in Bash. Aus dem Link: "source
ist ein Synonym für Punkt / Punkt '.
' in Bash, aber nicht in POSIX sh. Verwenden Sie für maximale Kompatibilität den Punkt."Geben Sie einfach Folgendes ein:
Wenn Sie jedoch möchten, dass die Quelle beim Start des Terminals automatisch ausgeführt wird, anstatt sie jedes Mal auszuführen, wenn Sie das Terminal öffnen, können Sie sie
. ~/.bash_profile
der~/.bashrc
Datei hinzufügen .Hinweis:
Wenn Sie ein Terminal öffnen, startet das Terminal Bash im interaktiven Modus (ohne Anmeldung), dh, es wird als Quelle verwendet
~/.bashrc
.~/.bash_profile
wird nur von bash bezogen, wenn es im interaktiven Anmeldemodus gestartet wird . Dies ist normalerweise nur möglich, wenn Sie sich an der Konsole anmelden ( Ctrl+ Alt+ F1.. F6) oder eine Verbindung herstellenssh
.quelle
Sie können diesen Befehl auch verwenden, um das ~ / .bash_profile für diesen Benutzer neu zu laden. Stellen Sie sicher, dass Sie den Bindestrich verwenden.
quelle
Ich mag die Tatsache, dass Sie nach dem Bearbeiten der Datei nur noch Folgendes eingeben müssen:
Dadurch wird die Datei abgerufen, die Sie gerade im Verlauf bearbeitet haben. Siehe Was ist Bang Dollar in Bash .
quelle
cd
. .bash_profile
quelle
cd
. Keine Notwendigkeit für~
.cd
- Sie können es einfach aus dem Verzeichnis, in dem Sie sich gerade befinden, neu laden:. ~/.bash_profile
Wenn es Ihnen nichts ausmacht, den Verlauf Ihres aktuellen Shell-Terminals zu verlieren, können Sie dies auch tun
bash -l
Das würde deine Muschel spalten und einen weiteren untergeordneten Prozess der Bash eröffnen. Der
-l
Parameter weist bash an, als Login-Shell ausgeführt zu werden. Dies ist erforderlich, da .bash_profile nicht als Nicht-Login-Shell ausgeführt wird. Weitere Informationen hierzu finden Sie hierWenn Sie die aktuelle Shell vollständig ersetzen möchten, können Sie auch Folgendes tun:
exec bash -l
Das Obige wird Ihre aktuelle Shell nicht verzweigen, sondern vollständig ersetzen. Wenn Sie also eingeben
exit
, wird sie vollständig beendet, anstatt Sie zur vorherigen Shell zu bringen.quelle
Fügen Sie
alias bashs="source ~/.bash_profile"
Ihrer Bash-Datei hinzu. So können Siebashs
ab dem nächsten Mal anrufenquelle
reset
- leichter zu merkenWenn das .bash_profile nicht vorhanden ist, können Sie den folgenden Befehl ausführen:
oder
anstelle von .bash_profile. Weitere Informationen zu bashrc finden Sie hier
quelle
Ich wollte eine kurze Antwort veröffentlichen, die während der Verwendung
source ~/.bash_profile
oder der oben genannten Antworten funktioniert. Eine Sache, die erwähnt werden muss, ist, dass dadurch nur Ihr Bash-Profil in der aktuellen Registerkarte oder Sitzung, die Sie gerade anzeigen, neu geladen wird. Wenn Sie Ihr Bash-Profil auf jeder Registerkarte / Shell neu laden möchten, müssen Sie diesen Befehl in jeder Registerkarte manuell eingeben.Wenn Sie iTerm verwenden, können Sie mit CMD⌘+ Shift+ Ieinen Befehl in alle aktuellen Registerkarten eingeben . Für das Terminal kann es nützlich sein, auf dieses Problem zu verweisen .
quelle
Sie müssen nur tippen
. ~/.bash_profile
Siehe: /superuser/46139/what-does-source-do
quelle
Ich benutze Debian und kann einfach tippen
exec bash
, um dies zu erreichen. Ich kann nicht sagen, ob es auf allen anderen Distributionen funktioniert.quelle
. .bash_profile
während in Ihrem Home-Verzeichnis auf dem Mac. Entspricht der Antwort von 7urkm3n.oder wenn Sie Protokolle über Funktionen hinzufügen möchten
quelle
. ~/. bash_profile
source ~/.bash_profile
Ich leite Sierra und habe eine Weile daran gearbeitet (alle empfohlenen Lösungen ausprobiert). Ich war verwirrt und versuchte schließlich, meinen Computer neu zu starten! Es funktionierte
Mein Fazit ist, dass manchmal ein Hard-Reset notwendig ist
quelle