定義
可以整體定義數組:
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的值為名稱的變量。