“登录”和“交互式” bash shell 有什么区别?我在下面引用了维基百科,但有人能给出更好的答案吗?
编辑:这是一个社区维基,所以也许不是投票关闭,您可以提供示例说明哪些情况需要哪种类型的 $SHELL
启动脚本
当 Bash 启动时,它会执行各种不同脚本中的命令。
当 Bash 作为交互式登录 shell 被调用时,它首先从文件 /etc/profile 读取并执行命令(如果该文件存在)。读取该文件后,它会按顺序查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,然后从第一个存在且可读的命令中读取和执行命令。
当登录 shell 退出时,Bash 从文件 ~/.bash_logout(如果存在)读取并执行命令。
当一个不是登录 shell 的交互式 shell 启动时,Bash 从 ~/.bashrc 读取并执行命令(如果该文件存在)。这可以通过使用 --norc 选项来禁止。--rcfile 文件选项将强制 Bash 从文件而不是 ~/.bashrc 读取和执行命令。