shell脚本之数组

126 阅读1分钟

什么是数组:

数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。

与大部分编程语言类似,数组元素的下标由 0 开始。

Shell 数组用括号来表示,元素用"空格"符号分割开

数组的语法格式

方法一:

数组名=(value1 value2 ... valuen)

arr_number=(1 2 3 4 5 6 7 8 9

image.png

方法二: 数组名=([0]=value0 [1]=value0 [2]=value0 ...)

arr_number=([0]=1 [1]=2 [2]=3 [3]=4)

image.png

方法三:

列表名:“value1 value2 valueN ..."

数组名=($列表名)

list_number="1 2 3 4 5 6"

arr_number=($list_number)

image.png

方法四:

数组名[0]="value"

数组名[1]="value"

数组名[2]="value"

arr_number[0]=1

arr_number[1]=2

arr_number[2]=3

image.png

image.png

获取数组的数据列表

image.png

查看数组内某一个元素的值

image.png

获取数组的长度

image.png

image.png

image.png

数组遍历

求数组array1元素的合

image.png

数组切片

image.png

数组替换

image.png

删除数组

删除某个元素

image.png

删除整个数组

image.png

数组追加元素

方法一:

image.png

方法二:

image.png

image.png

方法三:

image.png

image.png

双引号不能省略,否则,当数组array_name中存在包含空格的元素时会按空格将元素拆分成多个

不能将""@"替换为" * ",如果替换为" * ",不加双引号时与" @ "的表现一致,

加双引号时,会将数组array name中的所有元素作为一个元素添加到数组中

image.png

方法四:

image.png

向数组传输组参数

如果将数组变量作为函数参数,函数只会取数组变量的第一个值。

获得数组1所有元素的总和

image.png

image.png