简介
什么是数组
数组与变量相似,都可以存放数据。
数组与变量的区别,变量只能存储一个数据,而数组可以存放多个数据。
数组的分类
普通数组:只能使用整数作为数据索引(元素的下标)
关联数组:可以使用字符串作为数组索引(元素的下标)
普通数组
普通数组赋值
- 一次赋值一个值
- 格式
数组名称[索引下标]=数组的值
- 举例
array[0]=wang #数组中第一个元素
array[1]=ming #数组中第二个元素
array[3]=qu #数组中第四个元素
- 一次赋值多个值
- 格式
数组名称=(数组的值1 数组的值2 数组的值3 ...)
#一次赋值多个,下标依次使用
- 举例
array=(wang ming qu)
- 将文件中的每一行赋值给数组
- 格式
数组名称=(`cat /路径/文件名`)
- 举例
array=(`cat /etc/passwd`)
- 将命令的结果依次赋值给数组
- 格式
数组名称=(`命令`)
- 举例
array=(`ls -l`)
普通数组引用
- 格式
${数组名称[元素下标]}
- 举例
echo ${array[0]} #获取数组里第一个元素
echo ${array[*]} #获取数组里所有元素
echo ${array[@]} #获取数组里所有元素的个数
echo ${array[*]:1:2} #获取指定元素;1代表从下标为1的元素开始获取;2代表获取后面的几个元素
查看普通数组
declare -a
关联数组
关联数组赋值
- 格式
#首先声明关联数组
declare -A 数组名称
#一次赋一个值
数组名称[索引名称or下标]=变量值
#一次赋多个值
数组名称=([索引1]=值1 [索引2]=值2 [索引3]=值3 ...)
- 举例
#声明关联数组
declare -A array
#一次赋一个值
array[linux]=CentOS7.9
#一次赋多个值
array=([first_name]=wang [model_name]=ming [last_name]=qu)
关联数组引用
echo ${array[*]} #打印数组下所有值
echo ${!array[*]} #获取数组里所有值的索引
echo ${!array[*]} #获取数组里所有值的个数
查看关联数组
declare -A