盈盈一水间,脉脉不得语

shell数组

bash支持一维数据(不支持多维数组),并且没有限定数组的大小。类似与C语言,数通元素下标由0开始。获取数组元素需使用下标,数组下标可以是算术表达式,其值应大于等于0。

数组的定义

在shell中,用括号来表示数组,数组元素用用空格分割开。定义数组在一般格式如下:

names=(John Rease Root)

也可写成如下格式:

names=(
John
Rease
Root
)

也可以单独定义数组各个元素,如

names[0]=John
names[1]=Rease
names[2]=Root

可以用不连续的下标,下标没有范围(前提是大于等于0)。

 

数组的读取

读取数组的一般格式如下:

${names[0]} #值为John

 利用@和*可以获取数组中的所有元素,如:

${names[*]}
${names[@]}

运行如下脚本:

#/bin/bash
names=(John Rease Root)
echo ${names[@]}

运行结果:

John Rease Root

数组长度的获取

获取数据的长度的方法与之前介绍的获取字符串长度的方法相同。如:

length=${#names[@]} #获取的长度为数组的元素个数
lengthn=${#names[n]} #获取的为第n个元素的长度

 

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注