shell的分类

登录式shell:

正常通常某终端登录
su - USERNAME 
su -l USERNAME

非登录式shell:

su USERNAME
图形终端下打开命令窗口
自动执行的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/basrc --> /etc/profile.d/*.sh