Это две совершенно разные вещи, и единственная общность заключается в том, что оба обычно запускаются в начале входа пользователя в систему и оба запускают файл конфигурации (.login и .bashrc), которые по сути являются сценариями оболочки. Кроме того, bash, как и многие современные оболочки, также позволяет переключаться между пользователями, что является одной из основных целейlogin
В деталях:
login - это программа, используемая для входа в систему пользователя, в конце которой запускается оболочка (или интерпретатор командной строки).
вход в систему знает только то, как сделать одно - войти в систему пользователя (проверить подлинность, используя имя пользователя / пароль, установить некоторые переменные среды, такие как TERM и PATH, и выполнить пару задач администратора при входе в систему - подробности см. по ссылке).
Оболочки Unix (из которых Баш является примером) является интерпретатором командной строки в сочетании с интерпретатором сценариями, и его функция заключается в принимать входные данные (от пользователя или поставляется программно) и выполнить требуемые команды.
Насколько я знаю, логин вообще не может использоваться как оболочка, так как он не имеет функций интерпретатора командной строки.