(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.