标签:事先 sda 数字 aos 元素 支持 [1] 数组名 等等
1、程序构成: 主要由指令和数据构成,数据可以是变量、文件、数组
2、数组介绍:
变量:存储单个元素的内存空间
数组:存储多个元素的连续的内存空间
3、数组的特点:
数组名:整个数组只有一个名字
数组索引:元素编号从“0”开始,数组名[索引]
注意:对于bash-4及之后的版本,支持自定义的索引格式,而不仅仅是0,1,2....等等数字格式。同时数组可以不事先声明,可以直接使用,但是如果不声明,它会把多个字符串的变量当做一个变量,因此使用数组前,应先声明数组。
4、声明数组:(有两种方式)
方式一:declare -a NAME //声明索引数组,用0,1,2,3....表示各元素
方式二:declare -A NAME //声明关联数组,自定义索引格式
5、给数组中元素赋值:
①、一次只赋值一个元素:
格式:ARRAY_NAME[INDEX]=value
示例:
[root@localhost ~]# declare -a animal
[root@localhost ~]# animal[0]=pig
[root@localhost ~]# animal[1]=sheep
[root@localhost ~]# echo $animal //引用第“0”个元素
pig
[root@localhost ~]# echo ${animal[1]}
pig[1]
[root@localhost ~]#
②、一次赋值全部元素:
格式:ARRAY_NAME=("VALUE1" "VALUE2" "VALUE3" ...) //必须以空格键隔开各元素值
示例:
[root@localhost ~]# weekdays=("monday" "tuesday" "wedsday")
[root@localhost ~]# echo ${weekdays[2]}
wedsday
[root@localhost ~]#
③、只赋值特定元素:
格式:ARRAY_NAME=([0]="VAL0" [1]="VAL1" [3]="VAL3") //可以不连续赋值,此种被称为稀疏数组。
示例:
[root@localhost ~]# cigrate=([0]="najing" [1]="xiaosu" [4]="yuxi")
[root@localhost ~]# echo ${cigrate[0]}
najing
[root@localhost ~]# echo ${cigrate[1]}
xiaosu
[root@localhost ~]# echo ${cigrate[2]}
[root@localhost ~]# echo ${cigrate[3]}
[root@localhost ~]# echo ${cigrate[4]}
yuxi
[root@localhost ~]#
注意:bash支持稀疏格式的数组。
5、数组元素引用:
${ARRAY_NAME[INDEX]} //必须加{ },因为不加,则只会引用ARRAY_NAME,而不是整个数组元素。
标签:事先 sda 数字 aos 元素 支持 [1] 数组名 等等
原文地址:http://blog.51cto.com/10631377/2062267