Возможный дубликат:
Различия между /usr /bin /login и /usr /bin /bash

В чем разница между /usr /bin /login и /usr /bin /bash? Первая команда что-то большее или отличается от того, что сделано из второй команды?
Есть ли причина выбрать первый в качестве оболочки по умолчанию?

1 ответ1

3

Это две совершенно разные вещи, и единственная общность заключается в том, что оба обычно запускаются в начале входа пользователя в систему и оба запускают файл конфигурации (.login и .bashrc), которые по сути являются сценариями оболочки. Кроме того, bash, как и многие современные оболочки, также позволяет переключаться между пользователями, что является одной из основных целей login в систему.

В деталях:

login - это программа, используемая для входа в систему пользователя, в конце которой запускается оболочка (или интерпретатор командной строки).

вход в систему знает только то, как сделать одно - войти в систему пользователя (проверить подлинность, используя имя пользователя / пароль, установить некоторые переменные среды, такие как TERM и PATH, и выполнить пару задач администратора при входе в систему - подробности см. по ссылке).

Оболочка Unix (примером которой является bash ) является интерпретатором командной строки в сочетании с интерпретатором сценариев, и ее функция состоит в том, чтобы принимать ввод (от пользователя или предоставленный программно) и выполнять запрошенные команды.

Насколько я знаю, логин вообще не может использоваться как оболочка, так как он не имеет функций интерпретатора командной строки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .