首页 > 编程语言 > 详细

16、bash编程之数组介绍

时间:2018-01-17 23:16:30      阅读:210      评论:0      收藏:0      [点我收藏+]
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,而不是整个数组元素。






16、bash编程之数组介绍

原文:http://blog.51cto.com/10631377/2062267

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!