Bash提供两种数组变量:索引数组和关联数组。Bash的数组变量是一维的。
任何变量都可以用作索引数组。当使用name[subscript]=value这种语法时,就自动创建了一个索引数组变量。(subscript是结果必须是数字的算术表达式)
$ bar=1+2
$ declare -p bar
declare -- bar="1+2"
$ bar[0]=1
$ declare -p bar
declare -a bar=([0]="1")
$ bar=1+2
$ declare -p bar
declare -a bar=([0]="1+2")
也可以用declare命令显示地声明索引数组
declare -a name
关联数组要用declare命令声明
declare -A name
对数组的大小没有最大限制,也没有对数组成员进行连续索引或赋值的要求。 索引数组使用整数(包括算术表达式)进行引用,并且从零开始。 关联数组使用任意字符串。 除非另有说明,索引数组的索引必须是非负整数。
可以使用内置命令declare和readonly对数组变量设置属性。设置的属性应用于数组的所有成员。
$ foo[0