Linux下bash配置及执行顺序

用户bash配置

1) .bash_history :记录了用户以前输入的命令,
2) .bash_login :如果 ~/.bash_profile找不到,则bash尝试读取这个脚本
3) .bash_logout :当用户退出 shell 时,要执行的命令,
4) .bash_profile :当用户登入 shell 时,要执行的命令,
5) .bashrc :每次打开新的 shell 时,要执行的命令。
6) .profile : 如果这两个文件~/.bash_profile, ~/.bash_login 都找不到,bash就读取这个文件,这是个默认文件
注:/home/[user]/路径下,通常将定义的变量,如 PATH ,放到'.bash_profile'中,而aliases(别名)和函数之类,则放在'.bashrc'。

系统bash配置

1) profile : 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。
2) bash.bashrc : 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
3) environment : 设置整个系统的环境,与登录用户无关。
注:/etc/路径下,当系统级与用户级的设置发生冲突时,将优先采用用户的设置。

配置执行顺序

1) RedHat系统:/etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout
2) Debain,Unix系列: /etc/profile -> /etc/environment -> $HOME/.profile

注:不同的系统以及版本,执行顺序可能存在差异,可以从/etc/profile这个脚本开始入手查看。


参考资料

【1】Linux下的bash配置文件

【2】bash中profile等配置文件执行顺序

你可能感兴趣的:(bash,linux)