shell數組變量

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的值爲名稱的變量。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章