一、数组简介:
- 变量:用一个固定的字符串,代替一个不固定字符串。
- 数组:用一个固定的字符串,代替多个不固定字符串。
二、类型
- 普通数组:只能使用整数作为数组索引
- 关联数组:可以使用字符串作为数组索引
- 总结:变量切片有个索引的概念。一个索引(整数)对应一个字符。 普通数组:中的索引对应一个字符串 关联数组:数组中的索引可以使用字符串。
三、普通数组
1、定义数组
方法1:
[root@localhost ~]# array2=(tom jack alice)
[root@localhost ~]# array3=(`cat /etc/passwd`)希望是将该文件中的每一个行作为一个元数负值给数组array3
[root@localhost ~]# array4=(`ls /home`)
[root@localhost ~]# array5=(tom jack alice "bash shell")
[root@localhost ~]# colors=($red $blue)
[root@localhost ~]# array6=(1 2 3 4 5 6 7 "linux shell" [20]=saltstack)
方法2:
#一次负一值
#数组名[下标]=变量值
[root@localhost ~]# array1[0]=pear
[root@localhost ~]# array1[1]=apple
[root@localhost ~]# array1[3]=orange#查看数组
[root@localhost ~]# declare -a | grep array1
declare -a array1='([0]="pear" [1]="apple" [3]="orange")'
#查看数组
[root@localhost ~]# echo ${array1[@]}
pear apple orange
2、访问数组元素
[root@localhost ~]# echo ${array1[*]}
[root@localhost ~]# echo ${array1[@]} #访问数组中所有元素
[root@localhost ~]# echo ${array1[0]} #访问数组第一个元素
[root@localhost ~]# echo ${#array1[@]} #统计数组元素个数
[root@localhost ~]# echo ${!array1[@]} #获取数组元素的索引
[root@localhost ~]# echo ${array1[@]:1} #从数组下标1开始
[root@localhost ~]# echo ${array1[@]:1:2} #从数组下标1开始,访问两个元素