在用户登录时自动执行的脚本主要用于设置一些环境,例如设置JAVA_HOME的路径。其中的一些脚本被登录shell调用,登录shell是你登录系统时最先执行的Shell。它设置一些环境,然后把这些环境授予非登录Shell。
用户登录时,登录Shell会调用如下脚本:
- /etc/profile——当用户在运行级别3登录系统时首先运行。
- /etc/profile.d——当/etc/profile运行时,会调用该目录下的一些脚本。
- $HOME/.bash_profile、$HOME/.bash_login和$HOME/.profile——在/etc/profile运行后,第一个存在的被运行。
- $HOME/.bashrc——上述脚本的中一个运行后即调用此脚本。
- /etc/bashrc或/etc/bash.bashrc——由$HOME/.bashrc调用运行。
当一个交互式的非登录Shell启动时,Bash将读取并运行如下脚本:
- $HOME/.bashrc——如果此文件存在即被运行。
- /etc/bashrc——将被$HOME/.bashrc调用运行
- /etc/profile.d —— 此目录下的脚本将被/etc/bashrc或/etc/bash.bashrc调用运行。
Bash启动脚本主要设置的环境有:
- 设置环境变量PATH和PSI;
- 通过变量EDITOR设置默认的文本编辑器;
- 设置默认的umask(文件或目录的权限属性);
- 覆盖或移除不想要的变量或别名;
- 设置别名;
- 加载函数。