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

            特殊变量:$?(上一个命令的返回结果,正常为0,其他即为有错)

        变量定义方式:

            bash内置变量:可直接调用,内置了许多环境变量,例如PATH等

            自定义变量:

                变量赋值:变量名=值

        bash弱类型:

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

            120(字符类型):3byte

            120(数值类型): 1byte

            

            备注:这在php中也是这情况

    定义本地变量:

        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

    编辑配置文件定义的新配置如何生效?

        (1) 重新登录;

        (2) 让当前shell进程去重新读取指定的配置文件;

            source /PATH/TO/SOMEFILE

            . /PATH/TO/SOMEFILE

            注意:有可能导致副作用

实战:   

1.定义对所有用都生效的别名?        

解答:只需vim /etc/bashrc即可

2.如果仅需要PATH环境变量的修改仅对root用户生效,该如何操作?

解答:vim ~/.bashrc即可 修改PATH变量