首页 > 解决方案 > 在 Bash 中的某个索引处插入一个元素

问题描述

我在 bash 中有一个数组,它被声明为

string='var1/var2/var3';
IFS='/' read -r -a array <<< $string

所以数组是["var1", "var2", "var3"]

我想在指定索引处添加一个元素,然后移动已经存在的其余元素。

所以结果数组变为

["var1", "newVar", "var2", "var3"]

我一直在尝试使用 and 循环来做到这一点,但我觉得有一些更好的“bash”方式来做到这一点。该数组可能不是固定长度的,因此它需要是动态的。

标签: bash

解决方案


你可以试试这个:

declare -a arr=("var1" "var2" "var3")
i=1
arr=("${arr[@]:0:$i}" 'new' "${arr[@]:$i}")
echo "${arr[@]}"

结果将是:

var1 new var2 var3

更多细节:如何在 Bash 中对数组进行切片


推荐阅读