Bash初始化文件/etc/profile .bash_pro-file .bash_login .profile .bash_logout /etc/bashrc .bashrc
当启动shell时,他将运行初始化文件初始化自己。具体运行哪个文件要看是登录shell还是交互式非登录shell还是非交互式shell(用来执行shell脚本)
-
登录shell
/etc/profile sehll首先执行/etc/profile中的命令。通过这个文件,root用户可以为全系统内的所有bash用户建立默认特性。
.bash_pro-file .bash_login和.profile然后依次查找~/.bash_pro-file,~/.bash_login和~/.profile(~是用户主目录),并执行他找到的首个文件中的命令。这些设置将覆盖/etc/profile中的设置(可以想象成win的用户环境变量覆盖系统环境变量,因此有时会覆盖~/.bashrc中的设置)
~/.bash_pro-file,~/.bash_login有时是隐藏文件,用ls -a显示。
.bash_logout 当用户注销时,bash执行文件~/.bash_logout中的命令。他要执行一些清理任务。
-
交互式非登录shell
交互式非登录shell不执行前面的初始化文件。然而,继承了登录shell的初始化设置。
/etc/bashrc 尽管不是通过bash直接调用许多~/.bashrc文件还是调用了/etc/bashrc。这种安排使得root可以为全系统内的交互式非登陆bashshell建立默认特性。
.bashrc 交互式非登录shell执行~/.bashrc文件,而登录shell的初始化文件通常会调用这个文件。这样,登录shell和交互式非登录shell都可以使用~/.bashrc文件。
-
非交互式shell
非交互式非shell不执行前面的初始化文件。然而,继承了登录shell的初始化设置。
浙公网安备 33010602011771号