码迷,mamicode.com
首页 > 编程语言 > 详细

16、bash编程之数组介绍

时间:2018-01-17 23:35:33      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:事先   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,而不是整个数组元素。






16、bash编程之数组介绍

标签:事先   sda   数字   aos   元素   支持   [1]   数组名   等等   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!