bash环境配置:
   
    配置文件,生效范围划分,存在两类:
        全局配置:
            /etc/profile, /etc/profile.d/*.sh
            /etc/bashrc
        个人配置:
            ~/.bash_profile
            ~/.bashrc

    按功能划分,存在两类:
        profile类:为交互式登录的shell提供配置
            /etc/profile, /etc/profile.d/*.sh
            ~/.bash_profile

            功用:
                (1) 定义环境变量,例如PATH、PS1
                (2) 运行命令或脚本

        bashrc类:为非交互式登录shell提供配置
            /etc/bashrc
            ~/.bashrc

            功用:
                (1) 定义命令别名;
                (2) 定义本地变量;

    变量:内存空间,变量名
        类型:
            环境变量:作用范围当前shell进程及其子进程
            本地变量:作用范围当前shell进程
            局部变量:作用范围仅为当前shell进程中某代码片断(通常为函数上下文)

            位置变量:$1, $2
            特殊变量:$?

        变量定义方式:
            bash内置变量:可直接调用,内置了许多环境变量,例如PATH等
            自定义变量:
                变量赋值:变量名=值

        bash弱类型:
            变量存储数据时,默认均采用字符形式;任何变量可以不经声明,直接引用;

                120:24bits
                120: 8bits

    定义本地变量:
        name=value

        查看:set

    定义环境变量:
        export name=value
        declare -x name=value

        查看:env, printenv, export

    撤消变量:
        unset name

    引用变量:
        ${name}, $name

    bash中的引用符号:
        '': 强引用,变量替换不会发生
        "":弱引用
        ``: 命令引用

   
    shell登录类型:
        交互式登录:
            直接通过终端进行的登录;
            通过su -l Username命令实现的用户切换;

        非交互式登录:
            图形界面下打开的命令行窗口;
            执行脚本;
            su Username;

    配置文件作用次序:
        交互式登录:
            /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc

        非交互式登录:
            ~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh