数组分配
列表分配
如果你熟悉 Perl,C 或 Java,你可能会认为 Bash 会使用逗号分隔数组元素,但事实并非如此; 相反,Bash 使用空格:
 # Array in Perl
 my @array = (1, 2, 3, 4);
 # Array in Bash
 array=(1 2 3 4)
使用新元素创建数组:
array=('first element' 'second element' 'third element')
下标分配
创建一个具有显式元素索引的数组:
array=([3]='fourth element' [4]='fifth element')
按索引分配
array[0]='first element'
array[1]='second element'
按名称分配(关联数组)
Version >= 4
declare -A array
array[first]='First element'
array[second]='Second element'
动态分配
从其他命令的输出创建一个数组,例如使用 seq 获取 1 到 10 的范围:
array=(`seq 1 10`)
脚本输入参数的赋值:
array=("$@")
循环中的赋值:
while read -r; do
    #array+=("$REPLY")     # Array append
    array[$i]="$REPLY"     # Assignment by index
    let i++                # Increment index 
done < <(seq 1 10)  # command substitution
echo ${array[@]}    # output: 1 2 3 4 5 6 7 8 9 10
其中 $REPLY 始终是当前输入