В чем разница между «логином» и «интерактивной» оболочкой bash? Я цитировал Википедию ниже, но кто-нибудь может дать лучший ответ?
РЕДАКТИРОВАТЬ: Это вики сообщества, поэтому, возможно, вместо того, чтобы голосовать за закрытие, вы можете привести примеры ситуаций, требующих какого типа $ SHELL
Скрипты запуска
Когда Bash запускается, он выполняет команды в различных сценариях.
Когда Bash вызывается как интерактивная оболочка входа в систему, он сначала читает и выполняет команды из файла / etc / profile, если этот файл существует. После прочтения этого файла он ищет ~ / .bash_profile, ~ / .bash_login и ~ / .profile в указанном порядке, а также читает и выполняет команды из первой, которая существует и доступна для чтения.
Когда оболочка входа в систему закрывается, Bash читает и выполняет команды из файла ~ / .bash_logout, если он существует.
Когда запускается интерактивная оболочка, которая не является оболочкой входа в систему, Bash читает и выполняет команды из ~ / .bashrc, если этот файл существует. Это может быть запрещено с помощью параметра --norc. Опция --rcfile file заставит Bash читать и выполнять команды из файла вместо ~ / .bashrc.