您的位置:首页 > 运维架构 > Shell

Linux下Shell中数组的使用

2013-05-02 18:34 323 查看
定义

可以整体定义数组:

ARRAY_NAME=(value0 value1 value2 value3 ...)

或者:

ARRAY_NAME=(

value0

value1

value2

value3

...

)

此时数组的下标默认是从0开始的

还可以单独定义数组的各个分量:

ARRAY_NAME[0]=value0

ARRAY_NAME[1]=value1

ARRAY_NAME
=valuen

...

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

使用

取得数组中的元素:

valuen=${ARRAY_NAME
}

取得数组的全部元素:

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

echo ${ARRAY_NAME[@]}

取得数组元素的个数:

length=${#ARRAY_NAME[@]}

或者

length=${#ARRAY_NAME[*]}

取得数组单个元素的长度:

lengthn=${#ARRAY_NAME
}

遍历

使用while循环遍历数组:

i=0

length=${#ARRAY_NAME[*]}

while [ $i -lt $length ] ; do

valuei=${ARRAY_NAME[$i]}

...

let i++

done

使用for循环遍历数组:

for value in ${ARRAY_NAME[*]} ; do

valuei=value

...

done

清空

清空单个元素:

ARRAY_NAME
=

将整个数组清空:

unset ARRAY_NAME

或者:

ARRAY_NAME=

应该注意unset后的变量不应该加$。

加$会清空以ARRAY_NAME的值为名称的变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: