shell数组

134 阅读1分钟

什么是数组:

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

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

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

数组的语法格式

方法一:

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

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

20220901142746.png

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

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

20220901145028.png

方法三:

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

数组名=($列表名)

list_number="1 2 3 4 5 6"

arr_number=($list_number)

20220901150047.png

方法四:

数组名[0]="value"

数组名[1]="value"

数组名[2]="value"

arr_number[0]=1

arr_number[1]=2

arr_number[2]=3

20220901150237.png

20220901150605.png

获取数组的数据列表

20220901143055.png

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

20220901143450.png

获取数组的长度

20220901143907.png

20220901144837.png

20220901145529.png

数组遍历

求数组array1元素的合 20220901151528.png

数组切片

20220901154054.png

数组替换

20220901154803.png

删除数组

删除某个元素

20220920142213.png

删除整个数组

20220920142335.png

数组追加元素

方法一: 20220901154938.png

方法二: 20220901155443.png

20220901155841.png

方法三: 20220901160324.png

20220901161023.png

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

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

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

20220901161743.png

20220901162619.png

方法四:

20220901162807.png

向数组传输组参数

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

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

20220901170827.png