Unterschied zwischen / usr / bin / login und / usr / bin / bash

1384
kiamlaluno

Mögliches Duplizieren:
Unterschiede zwischen / usr / bin / login und / usr / bin / bash

Was ist der Unterschied zwischen / usr / bin / login und / usr / bin / bash? Ist der erste Befehl etwas anderes oder anders als der zweite Befehl?
Gibt es einen Grund, die erste als Standardshell zu wählen?

0
Einige Leute möchten bash nicht als Standardshell verwenden. vor 13 Jahren 1
Diese Leute sollten gefunden und umerzogen werden :-) vor 13 Jahren 0
@paxdiablo - was ist daran falsch, ein Programm zu verwenden, das überhaupt nicht als Shell verwendet werden kann, da es sich nicht um einen Befehlszeileninterpreter als Standardshell handelt? :) DVK vor 13 Jahren 0
@paxdiablo - ernsthaft, die Leute mögen zum Beispiel einfach tcsh (aus verschiedenen logischen und guten oder manchmal sentimentalen und subjektiven Gründen). DVK vor 13 Jahren 0

1 Antwort auf die Frage

3
DVK

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.

Terminal.app hat die Einstellung "Shells open with:" mit der Option "Default login shell (/ usr / bin / login)" und "Command (vollständiger Pfad)", die standardmäßig "/ usr / bin / bash" enthält. kiamlaluno vor 13 Jahren 0