bash配置的读取

  1. login shell与non-login shell的简单区分: 输了密码的就是login shell,否则就不是
  2. ​$shopt login_shell​​能检查shell类型
  3. login shell会读取很多配置文件

在我使用的Ubuntu 20.04中,​​vim /etc/profile​​​并查看,可以发现其调用了​​/etc/bash.bashrc​​​配置;而​​/etc/bash.bashrc​​​又会调用​​/etc/profile.d/*.sh​​​;最后调用​​~/.profile​​​,然后调用​​~/.bashrc​​。

其实很自然,​​/etc​​​下保存系统级的配置;​​~​​本就是用户目录,因而保存用户级的配置

总结一下,login shell的配置文件读取顺序如下

bash的配置文件读取_概率论

而non login shell只会调用​​~/.bashrc​

  1. non_login shell 只读取.bashrc中的配置
  2. source命令会把某个配置文件进行应用
  3. 在home下还有.bash_history等相关文件,但不存配置

参考