我真的不知道如何使用bash而且我遇到了问题。我通常使用python,所以我不知道如何没有列表。如何在不删除默认值的情况下在数组中添加值。
myArray=(5 6 13 14)
例如,我想在索引2处添加9,我想得到这个:
myArray=(5 6 9 13 14)
而不是这个:
myArray=(5 6 9 14)
显然,做myArray[2]=9
并不起作用。我可以添加它并将其他所有内容从1移到左边但是我正在尝试做一些优化的事情,所以如果有一个没有循环的解决方案,我想知道它:)
答案 0 :(得分:5)
使用切片抓取数组的前后部分,然后构造一个新数组。
n=2
myArray=( "${myArray[@]:0:n}" 9 "${myArray[@]:n}")
渐近地,编写循环没有效率,但至少shell会在内部为你处理循环。