【发布时间】:2014-02-26 23:01:28
【问题描述】:
我发现了 bash 如何读取启动文件:
当 Bash 作为交互式登录 shell 或作为带有 --login 选项的非交互式 shell 调用时,它首先从文件 /etc/profile 中读取并执行命令(如果该文件存在)。读取该文件后,它会按顺序查找 ~/.bash_profile、~/.bash_login 和 ~/.profile,并从第一个存在且可读的文件中读取并执行命令。启动 shell 时可以使用 --noprofile 选项来禁止这种行为。
http://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files
为什么会这样 - 我的意思是“~/.bash_profile、~/.bash_login 和 ~/.profile”的队列。 (而且这个逻辑 - “如果这个文件中的一个存在,则根本不读取其他文件”)
我真的不明白这一点,为什么我们需要这么多的混乱。为什么 Bash 不只读取一个“全局”和一个“用户特定”启动文件?
【问题讨论】:
标签: linux macos bash shell unix