Linux 的shell提供了简单的数组操作功能,下面进行简单的介绍
1、创建一个数组
和普通的变量相同,shell中的数组不需要声明,直接定义并使用即可。对于一个变量,如果按照数据的方式去访问它,那么shell就会将其当做一个数组变量来操作。比如:
H[0]=“1”
H[1]="2"
H[2]="3"
就定义了一个数组H,其中第一个元素是字符转“1”,第二个元素是字符串“2”,第三个元素是字符串“3”。如果你尝试访问第四个元素,那么会得到空,也就是什么也没有。或者你也可以通过另一种更快捷的方式来定义一个数组:
H = (“1” “2” “3”)
数组的下表不一定是连续的数字,比如你可以定义只含有两个元素的数组H如下:
H[0] = 100
H[100] = 0
该数组中只有两个元素,下表分别为0和100。
2、访问数组的元素
你可以通过下表来访问数组的元素,比如访问数组H下表为2的元素 ${H[2]}。如果给出的下表在数据中不存在,那么将得到空。如果给出的不是数字下表,那么返回数组的第一个元素。比如${H[hahah]}将会返回数组中第一个元素。
如果想要在一个for循环中访问所有的数组元素,可以通过 ${array[*]} 或者 ${array[@]} 来处理,比如:
for e in ${H[@]}
do
echo $e
done
如果想要得到数组中元素的个数,可以使用 ${#array[@]} 来操作。比如:
echo ${#H[@]} #输出数组H中元素的个数
3、shell数组应用小例子
下面是一个shell脚本,它读入一定行的数据,输出文本行的个数,并按照相反的顺序输出出来