Shell数组
概述
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似C语言,数组元素的下标由0开始,获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。
定义数组
在Shell中,用括号来表示数组,数组元素用“空格”符号分隔开。
定义数组:array_name=(value1 value2 value3)
单独定义数组的各个分量:array_name[0]=1
array_name[1]=2
array_name[2]=3
读取数组值
读取数组元素值的一般格式为:${array_name[index]},如
#!/bin/bash
array_name=(1 2 3)
echo ${array_name[0]}输出结果为
1
使用@或*可以获取数组中的所有元素,如
#!/bin/bash
array_name=(1 2 3)
echo ${array_name[*]}
echo ${array_name[@]}输出结果为
1 2 3
1 2 3
获取数组的长度
获取数组长度的方法与获取字符串长度的方法相同,如
#!/bin/bash
# 获取数组元素的个数
length=${#array_name[@]}# 或
length=${#array_name[*]}# 获取数组单个元素的长度
length=${#array_name[index]}