1.1.2 数组定义
学习目标
这一节,我们从 基础知识、简单实践、小结 三个方面来学习。
基础知识
数组创建
在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的语法格式:
array_name=(value1 ... valuen)
注意:
基于元素的格式,主要有单行定义、多行定义、单元素定义、命令定义等多种样式
语法解读
单行定义
array_name=(value0 value1 value2 value3)
多行定义
array_name=(
value0
value1
value2
value3
)
单元素定义
array_name[0]=value0
array_name[1]=value1
array_name[2]=value2
注意:
单元素定义的时候,可以不使用连续的下标,而且下标的范围没有限制。
命令定义就是value的值以命令方式来获取
file_array=($(ls /tmp/))
简单实践
实践1-单行定义
定制数据数组
[root@localhost ~]# num_list=(123,234,345,456,567)
[root@localhost ~]# echo ${num_list[0]}
123,234,345,456,567
数据元素之间使用空格隔开
[root@localhost ~]# num_list=(123 234 345 456 567)
[root@localhost ~]# echo ${num_list[0]}
123
[root@localhost ~]# echo ${num_list[@]}
123 234 345 456 567
实践2-多行定义
定制数组
[root@localhost ~]# class_one=(
> zhangsan
> lisi
> wangwu
> zhaoliu
> )
查看数组元素
[root@localhost ~]# echo ${class_one[0]}
zhangsan
[root@localhost ~]# echo ${class_one[@]}
zhangsan lisi wangwu zhaoliu
实践3-单元素定义
定制数组
[root@localhost ~]# mix_list[0]=nihao
[root@localhost ~]# mix_list[2]=345
[root@localhost ~]# mix_list[4]="1.23,4.56"
查看数组元素
[root@localhost ~]# echo ${mix_list[1]}
[root@localhost ~]# echo ${mix_list[@]}
nihao 345 1.23,4.56
批量多元素定义
[root@localhost ~]# string_list=([0]="value-1" [3]="value-2")
[root@localhost ~]# echo ${string_list[@]}
value-1 value-2
[root@localhost ~]# echo ${!string_list[@]}
0 3
实践4-命令定义
定制数组元素
[root@localhost ~]# file_array=$(ls *.sh)
查看数组元素
[root@localhost ~]# echo ${file_array[0]}
count_head_feet.sh host_network_test.sh memory_info.sh simple_jumpserver.sh simple_login.sh simple_login_string.sh site_healthcheck.sh test_argnum.sh
[root@localhost ~]# echo ${file_array[1]}
[root@localhost ~]# echo ${file_array[2]}
[root@localhost ~]# echo ${file_array[@]}
count_head_feet.sh host_network_test.sh memory_info.sh simple_jumpserver.sh simple_login.sh simple_login_string.sh site_healthcheck.sh test_argnum.sh
注意:
对于命令的数组创建来说,它只有一个元素