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