1 bash 配置文件清单及一般执行顺序
1) RedHat系列:
-> /etc/profile
-> (~/.bash_profile | ~/.bash_login | ~/.profile)
-> ~/.bashrc(引用 /etc/bashrc + ~/.bash_aliases)
-> ~/.bash_logout
2) Debain系列:
-> /etc/profile(引用 /etc/bash.bashrc)
-> /etc/environment
-> ~/.profile(引用 ~/.bashrc(引用 ~/.bash_aliases))
-> ~/.bash_logout
注:
/etc/路径下,当系统级与用户级的设置发生冲突时,将优先采用用户的设置(后执行覆盖先执行的)。
2 登录|注销方式分类
A、控制台 | exit
B、图形界面 | 注销
C、打开terminal或运行bash或sh脚本 | exit
D、ssh | exit
E、sudo | 无
F、sudo -i | exit
G、su | exit
H、su -l | exit
I、计划任务 | 无
3 先看测试结果(Ubuntu)
系统bash配置:
1) /etc/profile : 【ABDFH】
2) /etc/environment : 【ABDFGH】 (Debain系列专有,仅用于设置环境变量)
3) /etc/bash.bashrc : 【ACDFGH】(Debain系列专有)
4) /etc/bashrc : 【未测试,理论同bash.bashrc】 (RedHat系列专有)
用户bash配置:
1) ~/.bash_profile : 【ABDFH】
1) ~/.bash_login : 如果 ~/.bash_profile找不到,则bash尝试读取这个脚本
1) ~/.profile : 如果这两个文件~/.bash_profile, ~/.bash_login 都找不到,bash就读取这个文件,这个是默认文件
#
2) ~/.bashrc : 【ACDFGH】
3) ~/.bash_aliases : 别名,被.bashrc引用
#
4) ~/.bash_logout : 【ABDF】退出登录时
#
5) ~/.bash_history :记录了用户以前输入的命令
4 测试过程(Ubuntu)
4.1 A方式:控制台
登录:
/etc/environment
/etc/profile
/etc/bash.bashrc
/home/kevin/.profile
/home/kevin/.bashrc
注销:
/home/kevin/.bash_logout
4.2 B方式:图形界面
登录:
/etc/environment
/etc/profile
/home/kevin/.profile
注销:
/root/.bash_logout
4.3 C方式:打开terminal或运行bash或sh脚本
打开:
/etc/bash.bashrc
/home/kevin/.bashrc
注销:
空
4.4 D方式:ssh
登录:
/etc/environment
/etc/profile
/etc/bash.bashrc
/home/kevin/.profile
/home/kevin/.bashrc
注销:
/home/kevin/.bash_logout
4.5 E方式:sudo
登录:
空
注销:
无
4.6 F方式:sudo -i
登录:
/etc/environment
/etc/profile
/etc/bash.bashrc
/root/.profile
/root/.bashrc
注销:
/root/.bash_logout
4.7 G方式:su
登录:
/etc/environment
/etc/bash.bashrc
/home/kevin/.bashrc
注销:
空
4.8 H方式:su -l
登录:
/etc/environment
/etc/profile
/etc/bash.bashrc
/home/kevin/.profile
/home/kevin/.bashrc
注销:
/home/kevin/.bash_logout
4.9 I方式:计划任务
登录:
空
注销:
无
|