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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM