数组
数据结构,数据序列,保存了连续的多个数据,可以使用索引获取相关元素,相当于多个变量的集合
§数组名和索引
索引:编号从0开始,属于数值索引
注意:所以可支持使用自定义的格式,而不仅是数值格式,即关联索引,bash4.0版本之后开始支持,bash的数组支持稀疏格式(索引不连续)
§声明数组
declare –a arryname
declare –A arryname 关联数组
初始化或赋值:各元素之间使用空白字符隔开,不加下标默认为第一个
第一种方式
arryname=(‘a’ ‘b’ ‘c’)
arryname=( [0]=’a’ [1]=’b’ [2]=’c’)
第二种方式
arryname[1]=”one”
第三种方式:交互式
read -a arryname
a b c
§引用数组
echo ${arryname[0]}
§获取元素的长度
echo ${#arryname[@]}
echo ${#arryname[*]}
当我们想去某个字符的长度,挠破脑袋想找个工具来计算出字符串的长度时,bash shell提供了计算出字符的长度,这时候bash shell的功能就展露无遗了
bash的伪随机生成器
$RANDOM
取特定位数的
$[$RANDOM%11]:取10以内的随机数
§数组数据处理
引用数组中的元素:
所有元素:echo ${arryname[@] , echo ${arryname[*]}
数组切片:${arryname[@]:offset:number}
offset:要跳过的元素个数
number:要去除的元素个数
echo ${arryname[@]:2:3} 跳过两个字符,取三个字符
向数组中追加元素
arryname[${#arryname[@]}]
删除数组中的某元素:导致稀疏格式
unset arryname[索引编号]
关联数组&