一:基本数组
数组可以让用户一次赋予多个值,需要读取数据只需要通过索引调用就可以读出
(1)数组语法
数组名称=(元素1 元素2 元素3...)
ARRAY1=('a' 'b' 'c' 'd')
(2)数组读出
${数组名称[索引]}
索引默认是元素在数组中的排队编号,默认第一个从0开始
[root@localhost ~]# echo ${ARRAY1[2]}
c
(3)数组赋值
方法1: 一次赋一个值
ARRAY1[4]='E'
方法2:一次赋多个值
ARRAY2=('a' 'b' 'c' 'd')
(4)查看数组
declare -A
(5)访问数组元素
echo ${ARRAY1[@]} 访问数组中的所有元素,等同于echo ${ARRAY1[*]}
echo ${#ARRAY1[*]} 统计数组元素的个数
echo ${!ARRAY1[*]} 获取数组元素的索引
echo ${ARRAY1[@]:1} 从数组下标1开始
echo ${ARRAY1[@]:1:2} 从数组下标1开始,访问两个元素
(6)遍历数组
默认数组通过数组元素的个数进行遍历
[root@localhost ~]# echo ${ARRAY1[0]}
a
[root@localhost ~]# echo ${ARRAY1[1]}
b
[root@localhost ~]# echo ${ARRAY1[2]}
c
[root@localhost ~]# echo ${ARRAY1[3]}
d
【针对关联数组可以通过数组元素的索引进行遍历】
二:关联数组
关联数组可以允许用户自定义数组的索引,这样使用起来更加方便,高效
(1)定义关联数组
创建一个脚本文件测试:
vi test1.sh
declare -A ass_array1 #申明关联数组
declare -A ass_array2 #申明关联数组
#方法1
ass_array1[name]='XXX'
ass_array1[age]=22
echo ${ass_array1[name]}
#方法2
ass_array2=([name]='vvv' [age]=23)
echo ${ass_array2[name]}
其中,[name]和[age]就是我们自定义的索引,而不是默认的0123....
[root@localhost shell]# bash test1.sh
XXX
vvv
小结:
基本数组和关联数组的不同点是,基本数组索引是从01234开始,关联数组可以自定义索引,但是需要申明是关联数组才能使用