Dies sind zwei sehr unterschiedliche Dinge, und es ist nur üblich, dass beide normalerweise am Anfang des Loggens in einem Benutzer ausgeführt werden und beide eine Konfigurations-Dot-Datei (.login und .bashrc) ausführen, die im Wesentlichen Shellskripte sind. Darüber hinaus ermöglicht bash, wie viele moderne Shells, auch das Wechseln zwischen Benutzern, was einer der Hauptzwecke von istlogin
Im Detail:
login ist ein Programm zum Anmelden eines Benutzers, an dessen Ende die Shell (auch Kommandozeileninterpreter) ausgeführt wird.
login weiß nur, wie eine Sache auszuführen ist - melden Sie sich bei einem Benutzer an (authentifizieren Sie sich mit Benutzername / Passwort, legen Sie einige Umgebungsvariablen wie TERM und PATH fest und führen Sie ein paar Anmeldeaufgaben für die Anmeldung aus.) Weitere Informationen finden Sie unter dem Link.
Eine Unix-Shell (von der bash ein Beispiel ist) ist ein Befehlszeileninterpreter, der mit einem Skriptinterpreter gekoppelt ist. Seine Funktion besteht darin, Eingaben (vom Benutzer oder programmgesteuert) zu akzeptieren und angeforderte Befehle auszuführen.
Soweit mir bekannt ist, kann login nicht als Shell verwendet werden, da es keine Funktionalität eines Befehlszeileninterpreters hat.