Разница между / usr / bin / login и / usr / bin / bash

1325
kiamlaluno

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

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

0
Некоторые люди не хотят использовать bash в качестве оболочки по умолчанию. 14 лет назад 1
Эти люди должны быть найдены и перевоспитаны :-) 14 лет назад 0
@paxdiablo - что плохого в использовании программы, которую вообще нельзя использовать в качестве оболочки, поскольку она не является интерпретатором командной строки в качестве оболочки по умолчанию? :) DVK 14 лет назад 0
@paxdiablo - если серьезно, люди могут просто предпочесть tcsh, например (по ряду логических и добрых или иногда сентиментальных и субъективных причин). DVK 14 лет назад 0

1 ответ на вопрос

3
DVK

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

В деталях:

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

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

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

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

В Terminal.app есть параметр «Оболочки открываются с помощью» с параметром «Оболочка для входа в систему по умолчанию (/ usr / bin / login)» и «Команда (полный путь)», который по умолчанию содержит «/ usr / bin / bash». kiamlaluno 14 лет назад 0

Похожие вопросы