Shell脚本 数组函数

Shell数组函数包括:获取数组长度、数组合并、添加和删除数组元素。

 

1. 获取数组长度

数组长度就是数组元素的个数。

获取数组长度的格式如下:

${#array_name[*]} 或者 ${#array_name[@]}

array_name 是数组名。

实例演示

下面我们通过实际代码来演示一下如何获取数组长度。
#!/bin/bash

nums=(29 100 13)
echo ${#nums[*]}

 

2. 数组合并

数组合并,又叫数组拼接,就是将两个数组连接成一个数组。

先利用@或*,将数组扩展成列表,然后再合并到一起。具体格式如下:

array_new=(${array1[@]}  ${array2[@]})
array_new=(${array1[*]}  ${array2[*]})

两种方式是等价的,选择其一即可。其中,array1 和 array2 是需要拼接的数组,array_new 是拼接后形成的新数组。

下面是完整的演示代码:

#!/bin/bash

array1=(23 56)
array2=(99 "http://www.codebaoku.com/shell/")
array_new=(${array1[@]} ${array2[*]})

echo ${array_new[@]}  #也可以写作 ${array_new[*]}
运行结果:
23 56 99 

 

3. 添加和删除数组元素

下面是完整的演示代码:

#!/bin/bash

nums=(29 100 13)

#向数组中添加元素
nums[3]=88
echo ${#nums[*]}
echo ${nums[*]}

#删除数组元素
unset nums[0]
echo ${#nums[*]}
echo ${nums[*]}

运行结果:
4
29 100 13 88
3
100 13 88

Shell 和其他编程语言一样,支持多种运算符,包括:算数运算符、关系运算符、布尔运算符、字符串运算符、文件测试运算符等。 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。