环境变量有一个很酷的特性就是,它们可作为数组使用。数组是能够存储多个值的变量。这些值可以单独引用,也可以作为整个数组来引用。该特性比较少用,稍微了解即可。
要给某个环境变量设置多个值,可以把值放在括号里,值与值之间用空格分隔。
[root@localhost ~]# hbk=(one two three four five)
显示环境变量的值,不能用普通的echo $变量名的方式
[root@localhost ~]# echo $hbk
one
[root@localhost ~]#
而是要用数组下标的方式,并且用花括号,下标从0开始,如下获取第三个值
[root@localhost ~]# echo ${hbk[2]}
three
显示整个数组变量,可以用星号通配符。
[root@localhost ~]# echo ${hbk[*]}
one two three four five
删除某个值,只需要传入下标,使用unset命令即可,但是不会像JAVA语言似的报数组越界之类的,而是显示空值。
[root@localhost ~]# echo ${hbk[4]}
five
[root@localhost ~]# unset hbk[2]
[root@localhost ~]# echo ${hbk[*]}
one two four five
[root@localhost ~]# echo ${hbk[2]}
[root@localhost ~]# echo ${hbk[4]}
five
先获取最后一个变量值hbk[4]得到five,删除hbk[2],显示one two four five,然而获取hbk[2],得到空值,而hbk[4]依然显示five,有点没搞懂,感觉unset只是占位,没有真正删除,要不然应该是${hbk[3]}显示five才对,有知道的,可以给我评论留言。
删除整个数组
[root@localhost ~]# unset hbk
[root@localhost ~]# echo ${hbk[*]}