shell中數組定義:
可以整體定義數組:
ARRAY_NAME=(value0 value1 value2 value3 ...)
或者:
ARRAY_NAME=( value0 value1 value2 value3 ... )
此時數組的下標默認是從0開始的,還可以單獨定義數組的各個分量:
ARRAY_NAME[0]=value0 ARRAY_NAME[1]=value1 ARRAY_NAME[n]=valuen ...
可以不使用連續的下標,而且下標的範圍沒有限制。
取得數組中的元素:
valuen=${ARRAY_NAME[n]}
一次性將數組中所有元素的值得到:
echo ${ARRAY_NAME[@]}
取得數組元素的個數:
length=${#ARRAY_NAME[@]} 或者 length=${#ARRAY_NAME[*]}
取得數組單個元素的長度:
lengthn=${#ARRAY_NAME[n]}
數組遍歷:
使用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[n]=
將整個數組清空:
unset ARRAY_NAME 或者: ARRAY_NAME=
應該注意unset後的變量不應該加$。加$會清空以ARRAY_NAME的值爲名稱的變量。