Shell数组追加元素的技巧

在shell中,数组是没有追加函数去实现给数组添加新元素的,我们可以利用数组的长度来添加新元素。

一、举个例子:
1.定义一个空数组变量a
a=()
2.现在数组变量a的值是空的,添加一个新元素b
方法:数组变量[数组变量长度]=需要添加的元素
数组变量长度=${#变量名[*]}
a[${#a[*]}]=b #添加完毕
3.查看数组变量的值:
echo ${a[*]} #输出b

二、应用在脚本的实例:
条件:
1.定义一个变量str=x_y_z
2.将变量str的值中的x,y,z添加到空数组变量arr中
代码如下:

#!/bin/bash
## 定义变量
str="x_y_z"

## 定义空数组
arr=()

## 将str变量拆开分别添加到数组变量arr
line=($(echo ${str} | sed 's/_/ /g'))

for i in ${line[*]}
do
    arr[${#arr[*]}]=${i}
done
echo 数组变量arr的值为:"${arr[*]}"

脚本输出结果为:
数组变量arr的值为:x y z

你可能感兴趣的:(shell)