linux shell 数组遍历方式(非原创)

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

 

posted @ 2015-09-28 16:10  落叶之秋  阅读(7041)  评论(0编辑  收藏  举报