shell下定義數組
array=(1 2 3 4 5) #shell下數組定義是用空格分開。
數組定義方法2:
array array[0]="1" array[1]="2" array[2]="3"
獲取數組中有幾個元素:
echo ${#array[@]} #查看數組中有幾個元素(length),${#i}能查看變量i的字符長度。
for循環遍歷array:
for i in ${array[@]} do echo $i done
帶數組下標遍歷:
i=0 while [ $i -lt ${#array[@]} ];do echo ${array[$i]} let i++ # i=$(expr $i + 1) 或者 i=$(($i+1))、i=$i+1都能完成自增功能 done for ((i=0;i<${#array[@]};i++));do echo ${array[$i]} done #等同於上面的while循環。
向函數傳遞數組:
fun() { local _arr=(`echo $1 | cut -d " " --output-delimiter=" " -f 1-`) local _n_arr=${#_arr[@]} for((i=0;i<$_n_arr;i++)); do elem=${_arr[$i]} echo "$i : $elem" done; } array=(a b c) fun "$(echo ${array[@]})"