bash配置的读取
- login shell与non-login shell的简单区分: 输了密码的就是login shell,否则就不是
-
$shopt login_shell
能检查shell类型 - login shell会读取很多配置文件
在我使用的Ubuntu 20.04中,vim /etc/profile
并查看,可以发现其调用了/etc/bash.bashrc
配置;而/etc/bash.bashrc
又会调用/etc/profile.d/*.sh
;最后调用~/.profile
,然后调用~/.bashrc
。
其实很自然,/etc
下保存系统级的配置;~
本就是用户目录,因而保存用户级的配置
总结一下,login shell的配置文件读取顺序如下
而non login shell只会调用~/.bashrc
- non_login shell 只读取.bashrc中的配置
- source命令会把某个配置文件进行应用
- 在home下还有.bash_history等相关文件,但不存配置