bash shell只支持一维数组,但参数个数没有限制。
数组下标从0开始使用
声明一个数组:
declare -a array
(其实不用声明,按数组方式直接赋值给变量即可,BASH就知道那是数组)
数组赋值:
(1) array=(var1 var2 var3 ... varN)
(2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN)
(3) array[0]=var1
arrya[1]=var2
...
array[n]=varN
计算数组元素个数:
${#array[@]} 或者 ${#array[*]}$@表示参数的集合:“$1” ”$2” “$3” ,每个变量用双引号隔开。$*表示参数的集合:$1 $2 $3,默认用空格隔开。在这里两个都可以查询数组的个数。
遍历数组:
#!/bin/bash
array[0]=1
array[1]=3
array[2]=5
for((i=0;i<3;i++))
do
echo ${array[i]}
done
echo "the number of array is ${#array[@]} "
列出数组中所有的元素
echo${colors[@]} # echo ${colors[*]} 也可以。
复制数组:
array2=${array1[@]}
声明一个数组并初始化数组
declare -acolors
# 所有脚本后面的命令都会把
#+ 变量"colors"作为数组对待.
echo "Enter your favorite colors (separated from each other by aspace)."
read -a colors # 键入至少 3 种颜色以用于下面的示例.
# 指定'read'命令的选项,
#+ 允许指定数组元素.