每个不同的 UNIX/Linux shell 启动文件的用途是什么?

每个不同的 UNIX/Linux shell 启动文件的用途是什么?

以前,第一次设置 *NIX 环境时,我会将所有 shell 自定义放入 .bashrc 中,并使用以下 .bash_profile:

if [ -f $HOME/.bashrc ]; then
    . $HOME/.bashrc
fi

然而,基于这个答案及其相关注释,我最近将 PATH 重新定义移到了 .bash_profile 中。

您认为哪些类型的命令应该进入 .profile、.bash_profile、.bashrc(以及任何其他点文件),以及为什么?

答案1

根据 shell 的调用方式,它们是否按特定顺序读取。'man bash' 的调用部分将给出读取顺序和时间。这取决于 shell 是作为交互 shell 还是登录 shell 调用。

链接会告诉你‘为什么’

答案2

我对类似问题的另一个回答可能会有所帮助:

“登录”和“交互式” bash shell 之间有什么区别

相关内容