Shell 启动脚本:理解 bash、zsh 的启动流程
如果你是一个经常使用 shell 的用户,几乎肯定会在主目录下有一个 .bash_profile 或 .bashrc 脚本,通常包含各种调整,比如设置环境变量(将某个目录添加到 $PATH)、告诉 shell 做聪明的事情(如 set -o noclobber)以及为命令添加各种别名(如 alias please=sudo)。
(如果你真的很有条理,你会把所有点文件都放在某个仓库中,这样你就可以在所有工作的机器上保持设置同步。)
无论如何,我怀疑很少有人知道 .bash_profile 和 .bashrc 这样的文件实际上什么时候被执行。当我刚开始时,我只是按照别人的建议把东西放在 .bashrc 中,然后当它不工作时,就放到 .bash_profile 中。我可以在这里停下来,只描述 bash 的启动过程(尽管它很愚蠢),但有一个复杂的情况是,我在几年前切换到了 zsh(并且没有回头),但偶尔会在没有安装 zsh 的机器上使用 bash。