day15 数组
数组
1、什么是数组?
什么是数组?
具备某种相同属性的数据集合
[root@localhost ~]# array_name=(ddd)
[root@localhost ~]# declare -a
2、为什么要用数组?
为什么要用数组?
1)、方便查找
2)、方便有序的存放
3、普通数组的定义
普通数组的定义
在linux中,数组分为:普通数组(列表)和关联数组(字典)
普通数组的下标必须是整数
关联数组的下标可以是字符
数组的下标是从0开始的
[root@localhost ~]# declare -a :查看普通数组
1)、直接定义
[root@localhost ~]# array=(meng 18 male)
2)、指定下标的方式定义
[root@localhost ~]# array1=([1]=17 [0]=nilai [2]=womale)
3)、依次赋值
[root@localhost ~]# array2=()
[root@localhost ~]# array2[0]=tiecui
[root@localhost ~]# array2[1]=19
[root@localhost ~]# array2[2]=male
4)、使用命令
[root@localhost ~]# array3=(`ls /root`)
4、访问数组
访问数组
读数组中的值。
1)、使用变量的方式取值
[root@localhost ~]# echo $array3 # 取到第一个值
1.txt
2)、使用下标的方式取值
[root@localhost ~]# echo ${array3[1]} # 加上大括号代表一个整体
3)、反向取值法
[root@localhost ~]# echo ${array3[-1]} # 也可以反向取值
注:正向取值,下标从0开始;反向取值,下标从-1开始。
4)、一次取出所有的值
[root@localhost ~]# echo ${array3[*]} # *代表所有
5、添加数组元素
添加数组元素
[root@localhost ~]# array3[1]=mnnfnf
注:添加元素,如果添加的下标不存在即为添加数据,如果下标已经存在则为修改数据。
6、删除数组元素
删除数组元素
知识储备:
unset [变量名] : 删除变量
1)、删除特定某一个数据
[root@localhost ~]# unset array3[3]
[root@localhost ~]# echo ${array3[3]}
2)、删除所有的数据
[root@localhost ~]# unset array3
7、关联数组
关联数组
[root@localhost ~]# declare -A array3=() # 声明数组
8、遍历数组
遍历数组
for (第一种方式)
格式:
for 变量 in 数组
do # for循环开始
echo $变量 # for循环体
done # for循环结束
第二种:for 变量 in 数组 ; do for循环体1; for循环体2; for循环体3 ; done
作用:
1、作用是遍历数组,对数组中的所有元素进行处理
2、将数组中存储的元素取出来使用(计算,做特殊处理)
案例:循环出数组
第一种方法:
[root@localhost ~]# for i in ${array[*]}
> do
> echo $i
> done
第二种方法:
[root@localhost ~]# for i in ${array[*]}; do echo $i;echo "meng";done
[root@localhost ~]# for i in ${array[*]}; do echo "数组值:" $i;done # 做了格式化了