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.

War es hilfreich?

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 .

  1. Speichern Bash_profile Datei
  2. Home-Verzeichnis des Goto Benutzer durch Eingabe cd
  3. 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

eingeben

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!!!"
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top