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[@]})"