什么是数组?

数组也是一种变量,常规变量只能保存一个值,数组可以保存多个值


#普通数组:只能用整数作为数组的索引--0  下标

#关联数组:可以使用字符串作为数组的索引


普通数组定义:

[root@linux-server script]# books=( linux shell awk sed ) ---在python中叫列表


引用: echo ${array_name[index]} #引用  


[root@linux-server script]# echo ${books[0]}

linux

[root@linux-server script]# echo ${books[1]}

shell

[root@linux-server script]# echo ${books[2]}

awk


#关联数组需要提前声明

Declare命令:

[test @test test]# declare [-选项]

参数说明:

-a :#定义为数组--array

-A : #定义关联数组


例1

declare -A myarry1

[root@linux-server script]# declare -A myarry1

[root@linux-server script]# myarry1=([name]=soso666 [sex]=man [age]=18)

[root@linux-server script]# echo ${myarry1[name]}

soso666

[root@linux-server script]# echo ${myarry1[age]}

18


数组定义方法:

定义方法1:

   # array=( one two three four five six )

   # array1=(`cat /etc/passwd`) #希望是将文件中的每一行作为一个值赋给数组array3

   # array2=(1 2 3 4 5 6 7 "linux shell" [20]=saltstack)


定义方法2:指定索引赋值  

#语法:数组名[index]=变量值

示例

[root@linux-server script]# vim shuzu.sh

#!/bin/bash

NAME[0]="BJ"

NAME[1]="SH"

NAME[2]="SZ"

NAME[3]="GZ"

NAME[4]="HZ"

NAME[5]="ZZ"

echo "First Index: ${NAME[0]}"

echo "Second Index: ${NAME[1]}"

echo "sixth Index: ${NAME[5]}"


输出结果

[root@linux-server script]# bash shuzu.sh  

First Index: BJ

Second Index: SH

sixth Index: ZZ