Shell从登录类型来分为登录式Shell和非登陆式Shell:

登录式Shell:是需要用户名、密码登录后才能进入的shell(或者通过”–login”选项生成的shell)。包括1.正常通过某终端登录,2.su - username,3.su -l username.

非登录式Shell:当然就不需要输入用户名和密码即可打开的Shell,例如:直接命令“bash”就是打开一个新的非登录shell,在Gnome或KDE中打开一个“终端”(terminal)窗口程序也是一个非登录shell。包括:1.su username,2.图形终端下打开命令窗口,3.自动执行的shell脚本


Bash的配置文件包括:

全局配置文件: /etc/profile, /etc/profile.d/*.sh, /etc/bashrc

个人配置文件:~/.bash_profile, ~/.bashrc

profile类文件:设置环境变量,运行命令或脚本。

bashrc类文件:设定本地变量,定义命令别名。


登录式shell如何读取配置文件:

/etc/profile -> /etc/profile.d/*.sh -> ~/.bash_profile -> ~/.bashrc -> /etc/bashrc

非登陆式Shell如何读取配置文件:

~/.bashrc ->  /etc/bashrc -> /etc/profile.d/*.sh