linux数组变量

环境变量有一个很酷的特性就是,它们可作为数组使用。数组是能够存储多个值的变量。这些值可以单独引用,也可以作为整个数组来引用。该特性比较少用,稍微了解即可。

要给某个环境变量设置多个值,可以把值放在括号里,值与值之间用空格分隔。

[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[*]}

你可能感兴趣的:(linux)