Sie sollten auch über $ BASH_ENV Bescheid wissen.
Welche Dateien von bash beim Start gelesen werden, hängt davon ab, ob die Sitzung interaktiv ist oder nicht. Gelegentlich kann ein Problem auftreten, bei dem nicht klar ist, ob die Sitzung interaktiv ist. Neben ~ / .bashrc möchten Sie vielleicht auch die Variable BASH_ENV so exportieren, dass sie auf eine Datei verweist, die den PATH und andere Einstellungen enthält, die Sie benötigen. BASH_ENV kann so eingestellt werden, dass es auf Ihre .bashrc-Datei verweist (manchmal ist es .bash_rc), solange sich dort keine interaktiven Befehle befinden (verwenden Sie dazu eine separate Datei, beispielsweise ~ / .bash_env). Von den Bash-Man-Seiten:
Wenn eine interaktive Shell gestartet wird, die keine Login-Shell ist, liest und führt bash Befehle von ~ / .bashrc aus, falls diese Datei vorhanden ist. Dies kann mit der Option --norc verhindert werden. Die Option --rcfile file bewirkt, dass bash Befehle anstelle von ~ / .bashrc aus der Datei liest und ausführt.
Wenn Bash nicht interaktiv gestartet wird, sucht es beispielsweise nach einem Shell-Skript in der Umgebung nach der Variablen BASH_ENV, erweitert dessen Wert, wenn es dort erscheint, und verwendet den erweiterten Wert als Namen einer zu lesenden und auszuführenden Datei . Bash verhält sich so, als ob der folgende Befehl ausgeführt würde:
if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
Der Wert der PATH-Variablen wird jedoch nicht zur Suche nach dem Dateinamen verwendet.