(3 Antworten)
Vor 6 Jahren geschlossen.
Ich habe mir meine .bash_profile-Datei angesehen und Folgendes in einem Block einer if-Anweisung geschrieben:
if [ -f ~/.bashrc ]; then
. ~/.bashrc
Kann jemand erklären, was die zweite Zeile eigentlich macht?
Akzeptierte Antwort:
Die zweite Zeile „sources“ die .bashrc
Skript; Das heißt, es lädt und führt seinen Inhalt im selben Shell-Kontext aus. Das Ergebnis ist das gleiche wie beim Einfügen des Inhalts von .bashrc
in .bash_profile
.
Diese Anweisung ist nützlich, da die beiden Dateien in unterschiedlichen Kontexten verwendet werden:.bash_profile
wird ausgeführt, wenn bash
startet als Login-Shell, wohingegen .bashrc
wird ausgeführt, wenn bash
wird als interaktive Shell ohne Anmeldung gestartet. Einschließlich .bashrc
in .bash_profile
ermöglicht es Ihnen, die einzige Stelle zu sein, an der Sie Anpassungen hinzufügen können, die Sie in allen interaktiven Shells haben möchten.
Wenn .bashrc
wurde nicht mit .
bezogen , seine Ausführung würde nur für die Dauer eine neue Hülle hervorbringen und seine Effekte würden sofort verloren gehen.