一、什么是环境变量:
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