千家信息网

shell数组变量

发表于:2025-02-13 作者:千家信息网编辑
千家信息网最后更新 2025年02月13日,shell中数组定义:可以整体定义数组:ARRAY_NAME=(value0 value1 value2 value3 ...)或者:ARRAY_NAME=(value0value1value2val
千家信息网最后更新 2025年02月13日shell数组变量

shell中数组定义:

可以整体定义数组:

ARRAY_NAME=(value0 value1 value2 value3 ...)

或者:

ARRAY_NAME=(value0value1value2value3...)

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

ARRAY_NAME[0]=value0ARRAY_NAME[1]=value1ARRAY_NAME[n]=valuen...

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

取得数组中的元素:

valuen=${ARRAY_NAME[n]}

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

echo ${ARRAY_NAME[@]}

取得数组元素的个数

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

取得数组单个元素的长度

lengthn=${#ARRAY_NAME[n]}

数组遍历:

使用while循环遍历数组:

i=0length=${#ARRAY_NAME[*]}while [ $i -lt $length ] ; dovaluei=${ARRAY_NAME[$i]}...let i++done

使用for循环遍历数组:

for value in ${ARRAY_NAME[*]} ; dovaluei=value...done

清空数组:

清空单个元素:

ARRAY_NAME[n]=

将整个数组清空:

unset ARRAY_NAME或者:ARRAY_NAME=

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


0