数组
定义:在集合当中指定多个元素。元素的类型可以是整数、字符串、浮点类型。
作用:可以一次性地定义多个元素,可以为变量赋值提供便利。
数组的定义方法
数组名=(要定义的元素值,用空格隔开,两边的元素要顶格写)
数组名不能重复
例1:定义数组的方式1
test1=(a b c d)
echo ${test1[*]} #打印数组全部内容
a b c d
echo ${test1[@]} #同上
a b c d
例2:定义数组的方式2
test2[0]=1
test2[1]=2
test2[2]=3
echo ${test2[*]}
1 2 3
echo ${test2[0]} #打印数组指定位置的元素
1
echo ${test2[2]}
3
test2[ ]
的[ ]
中是对应元素的下标,即元素在数组中的位置,下标从0开始。
数组的长度
数组的长度指的是数组内包含的元素的个数。
例:对上文定义的test2
数组,获取它的长度。
echo ${
#test2[@]}
3 #长度为3,即数组中有3个元素
也可以用echo ${#test2[*]}
获取数组的长度。
数组的遍历方式
提到遍历,自然想到使用循环的方式获取数组的元素。
vim shuzu1.sh
test3=(1 2 3 4 5)
for num in ${test4[*]};do
echo -n $num
done
sh shuzu1.sh
12345
数组的切片
切片:即获取数组当中指定下标位置的元素,一个或者多个。
test4=(1 2 3 4 5)
echo ${test5[*]:0:2} #0表示起始位置,2表示步长
1 2
echo ${test5[*]:1