# 环境变量文件的加载顺序
在登录 Linux 系统并启动一个 bash shell 时,默认情况下 bash 会在若干个文件中查找环境变量的设置。这些文件统称为系统环境文件。bash 检查的环境变量文件的顺序情况取决于系统运行的 shell 方式。系统运行 shell 方式一般为 4 种:
是否交互式 | 是否登陆式 | 哪些情况 |
---|
是 | 是 | 通过系统用户登录默认运行的 shell |
是 | 否 | 非登录交互式运行 shell |
否 | 是 | 执行脚本运行非交互式 shell |
否 | 否 | 无 |
# bash
命令启动 shell
命令 bash 启动 shell 时,可以通过选项改变其行为
选项 | 含义 |
---|
-i | shell 在交互模式下运行 |
-l | shell 作为登陆 shell |
-r | 启动受限 shell |
-- | 选项结束标志,后面的内容当做文件名或参数,即使他们以 - 开头 |
--login | 同 -l |
--noprofile | 阻止读取初始化文件 /etc/profile 、 ~/.bash_profile , ~/.bash_login , ~/profile |
--norc | 在交互式 shell,阻止读取初始化文件 ~/.bashrc 。如果 shell 以 sh 调用的话,该选项默认是打开的。 |
--recfile file | 在交互式 shell,指定初始化文件是 file 而不是 ~/.bashrc |
--version | 版本信息 |
# 检查当前 shell 状态
# 查看当前是否登录式
shell | shopt login_shell |
| |
| login_shell on |
| |
| login_shell off |
# 查看当前是否交互式
References: