知识点:

  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:spacer.gif

 若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"