在Bash启动时会加载配置文件。
login shell:
启动加载文件有:
/etc/profile
~/.bash_profile
~/.bash_login
~/.profile
程序将依次执行这些文件,如果你加上选项"--noprofile"启动程序,bash将不会解析上述文件
当Bash推出时,会检查~/.bash_logout。
non-login shell:
如果是非登录的bash启动后,它会检查~/.bashrc如果你使用了,--norc选项它就不会执行检查,也可以使用--rcfile选项去指定检查目标。
当然在一部分系统中,~/.bash_profile中会包含:
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
上面说的两种情况属于交互式启动。
还有一种情况是非交互式启动。
首先,Bash先检查环境变量中有没有BASH_ENV变量。有解析他。
把它的值作为文件名,查找这个文件。
类似的动作,用命令说明如下:
if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi