shell数组变量

shell中数组定义:

可以整体定义数组:

1
ARRAY_NAME=(value0 value1 value2 value3 ...)

或者:

1
2
3
4
5
6
7
ARRAY_NAME=(
value0
value1
value2
value3
...
)

此时数组的下标默认是从0开始的,还可以单独定义数组的各个分量:

1
2
3
4
ARRAY_NAME[0]=value0
ARRAY_NAME[1]=value1
ARRAY_NAME[n]=valuen
...

可以不使用连续的下标,而且下标的范围没有限制。

取得数组中的元素:

1
valuen=${ARRAY_NAME[n]}

一次性将数组中所有元素的值得到:

1
echo  ${ARRAY_NAME[@]}

取得数组元素的个数

1
length=${ #ARRAY_NAME[@]}  或者  length=${#ARRAY_NAME[*]}

取得数组单个元素的长度

1
lengthn=${ #ARRAY_NAME[n]}

数组遍历:

使用while循环遍历数组:

1
2
3
4
5
6
7
i=0
length=${ #ARRAY_NAME[*]}
while  [ $i -lt $length ] ;  do
valuei=${ARRAY_NAME[$i]}
...
let  i++
done

使用for循环遍历数组:

1
2
3
4
for  value  in  ${ARRAY_NAME[*]} ;  do
valuei=value
...
done

清空数组:

清空单个元素:

1
ARRAY_NAME[n]=

将整个数组清空:

1
2
3
unset  ARRAY_NAME
或者:
ARRAY_NAME=

应该注意unset后的变量不应该加$。加$会清空以ARRAY_NAME的值为名称的变量。










本文转自 SoulMio 51CTO博客,原文链接:http://blog.51cto.com/bovin/1929333,如需转载请自行联系原作者
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值