一、什么是环境变量:
    bash shell用一个称作为环境变量的特性来存储有关shell会话和工作环境信息。
    环境变量分为全局环境变量和局部环境变量。
    printenv可以查看全局变量,系统变量一律使用全大写字母以区分普通用户的环境变量。
    set命令会显示为某个特定进程设置的环境变量
二、设置局部环境变量:变量=值,如果值是一个字符串,就要用单引号包起。 引用变量要在变量前面加$例如:

test='test is test'
     echo $test


    设置了局部变量后,就可以在程序任何一个地方使用他。但是不能在其他的bash shell里面使用。要在其他bash shell上能使用必须定义为全局变量
   
三、设置全局环境变量:1、设置局部变量;2、export局部变量.设置例如:

test='test is test'
     bash
     echo $test


    上面这个显示test就是空的。

test='test is test'
     export test
     bash
     echo $test


    这个显示就是test is test
四、删除环境变量:
    我们可以用unset来删除环境变量。在子进程里面删除一个全局变量,它只对子进程有效。该环境变量在父进程里面还存在,例如:

test='test is test'
     export test
     bash
     echo $test
     unset test
     echo $test
     exit
     echo $test

五、设置path环境变量
    path定义了命令行输入命令的输入路径,例如你直接输入test是会报错的,但是如果将test应用的目录存放到了path环境变量下。
    添加path环境变量的方式可以在现在path值的末尾加上:后,在加上新的目录
六、可变数组
    要给某个环境变量设置多个值,可以把值放到括号里面,值与值之间用空格分隔。例如
    test=(1 2 3 4)
    echo $test
    这个只显示1。
    要引用一个单独的数组元素,必须用它在数组里面的位置的数值索引值。例如
    echo ${test[2]}
    要显示整个数组元素,可以用星号通配符。例如:
    echo ${test[*]}
    也可以改变数组里面某一个值。例如:
    test[2]=tree
    要删除某一个值,用unset,但是unset删除值了,不会改变其他数组值的索引位置:
    unset test[3]
    要删除整个数组:unset test