数组介绍
一个变量只能存一个值,但是现实中又有很多值需要存储,那么变量就有些拘谨了,比如做一个学员信息表,一个班50个人,每个人6条信息,我们需要定义300个变量才能完成。所以我们需要用到数组
基本数组
数组可以让用户一次赋予多个值,需要读取数据时只需要通过索引调用就可以方便读出了。
1> 数组语法
数组名称=(元素1 元素2 元素3 ...)
vim array.sh
2> 数组读出
${数组名称[索引]}
索引默认是元素在数组中的排队编号,默认第一个从0开始
运行一下array.sh bash array.sh
3> 数组赋值
方法一:一次赋值一个
方法二:一次性赋多个值
4> 查看数组
declare -a
5> 访问数组元素
echo ${ARRAY1[0]} 访问数组中的第一个元素
echo ${ARRAY1[@]} 访问数组中的所有元素 等同于 echo ${ARRAY1[*]}
echo ${#ARRAY1[@]} 统计数组元素中的个数
echo ${!ARRAY1[@]} 获取数组元素的索引
echo ${!ARRAY1[@]:1} 从数组下标1开始
echo ${!ARRAY1[@]:1:2} 从数组下标1开始,访问两个元素
6> 遍历数组
默认从数组中通过数组元素的索引进行遍历
关联数组
关联数组可以允许用户自定义数组的索引,这样使用起来更加方便、高效
1> 定义关联数组
声明关联数组变量
declare -A ass_array1
declare -A ass_array2
2> 关联数组赋值
方法一:一次赋予一个值 数组名[索引]=变量值
ass_array1[index1]=pear
编写脚本文件 vim ass_array.sh
运行脚本文件 bash ass_array.sh
方法二:一次性赋多个值
ass_array2=([index1]=tom [index2]=ack [index3]=alice [index]='bash shell')
运行脚本文件
3> 查看数组
declare -A
4> 访问数组
echo ${ass_array2[index2]} 访问数组索引位index2的元素
echo ${ass_array2[@]} 访问数组中所有元素
echo ${#ass_array2[@]} 获取数组元素的个数
echo ${!ass_array2[@]} 获取数组中元素的索引
5> 遍历数组
通过数组元素的索引进行遍历,针对关联数组可以通过数组元素的索引进行遍历
echo ${ass_array2[index2]} 访问数组索引位index2的元素
学习视频:https://www.bilibili.com/video/BV1vE41127wm/?p=11