Was ist der Unterschied zwischen einer 'Login'- und einer' Interactive'-Bash-Shell? Ich habe Wikipedia unten zitiert, aber kann jemand eine bessere Antwort geben?
BEARBEITEN: Dies ist ein Community-Wiki. Anstatt also zum Schließen abzustimmen, können Sie Beispiele dafür angeben, in welchen Situationen welche Art von $ SHELL erforderlich ist
Startskripte
Beim Start von Bash werden die Befehle in verschiedenen Skripten ausgeführt.
Wenn Bash als interaktive Anmeldeshell aufgerufen wird, liest es zuerst die Befehle aus der Datei / etc / profile und führt sie aus, sofern diese Datei vorhanden ist. Nach dem Lesen dieser Datei sucht sie in dieser Reihenfolge nach ~ / .bash_profile, ~ / .bash_login und ~ / .profile und liest und führt Befehle von der ersten Datei aus, die vorhanden und lesbar ist.
Wenn eine Anmeldeshell beendet wird, liest Bash Befehle aus der Datei ~ / .bash_logout und führt sie aus, falls vorhanden.
Wenn eine interaktive Shell gestartet wird, die keine Anmeldeshell ist, liest Bash Befehle von ~ / .bashrc und führt sie aus, sofern diese Datei vorhanden ist. Dies kann mit der Option --norc verhindert werden. Die Option --rcfile file erzwingt, dass Bash anstelle von ~ / .bashrc Befehle aus der Datei liest und ausführt.