1. 程式人生 > >shell 傳輸數組參數!

shell 傳輸數組參數!

shell

知識點:

  1. 數組

  2. 函數局部變量

  3. 定義傳參數


例1:

a=(1 2 3)
b=(a b c)
function(){
      local a=$1
      local b=$2
      for i in $a
        do
        echo $i
      done
      echo $b
}
funcition "${a[*]}" "${b[*]}"

結果:
1
2
3
a b c

區別:

${a[*]} 是傳入一個參數,“1 2 3”
${a[@]} 是傳入多個參數,"1","2","3"


例2:技術分享

若a=(1 2 3),$a 代表第一個元素,可以用${a[*]}或者${a[@]}

若a="1 2 3",可以用${a[*]}或者${a[@]}或者$a

若a="1 2 3",array=($a),則等於a=(1 2 3),測試echo ${array[@]}

for ((i=0,i<${#array[@]} ,i=$i+1))    
do
echo ${array[$i])
done



## 數組的個數 ${#array[@]}

## 數組元素替換 array[1]="22"


本文出自 “技術博客” 博客,謝絕轉載!

shell 傳輸數組參數!