发新话题
打印

Shell数组

Shell数组

bash只提供一维数组,并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标。下标可以是整数或算术表达式,其值应大于或等于0。用户可以使用赋值语句对数组变量赋值。对数组元素赋值的一般形式是:数组名[下标]=值例如:

$ city[0]=Beijing

$ city[1]=Shanghai

$ city[2]=Tianjin



也可以用declare命令显式声明一个数组,一般形式是:

declare -a 数组名



读取数组元素值的一般格式是:

${数组名[下标]}

例如:

$ echo ${city[0]}

Beijing



一个数组的各个元素可以利用上述方式一个元素一个元素地赋值,也可以组合赋值。定义一个数组并为其赋初值的一般形式是:数组名=(值1 值2 ... 值n),其中,各个值之间以空格分开。

例如:

$ A=(this is an example of shell script)

$ echo ${A[0]} ${A[2]} ${A[3]} ${A[6]}

this an example script

$ echo ${A[8]}

由于值表中初值共有7个,所以A的元素个数也是7。A[8]超出了已赋值的数组A的范围,就认为它是一个新元素,由于预先没有赋值,所以它的值是空串。

若没有给出数组元素的下标,则数组名表示下标为0的数组元素,如city就等价于city[0]。

使用*或@做下标,则会以数组中所有元素取代
  • 或[@]。
  • TOP

    发新话题