gpt4 book ai didi

arrays - Bash:如何声明空数组,然后向其中添加变量

转载 作者:行者123 更新时间:2023-12-05 03:54:28 24 4
gpt4 key购买 nike

我希望有一个比我更聪明的好人能帮助我。

我正在编写一个 Bash 脚本,其中有一个 for 循环,它将绕过未知/未定义的次数。

现在,在这个for 循环中,将有一个值分配给一个变量。我们称这个变量为:$var1

每次循环(我永远不知道它循环了多少次),我想将 $var1 中的值分配给一个数组,慢慢地构建数组.让我们调用数组 $arr

这是我目前所拥有的:

for i in $( seq 0 $unknown ); do
...
some commands that will make $var1 change...
...

arr=("${arr[@]}" "$var1")
done

但是,当我想回显或使用数组 $arr 中的值时,我没有得到任何结果

也许有人会在正确的方向上帮助我?

非常感谢。

最佳答案

您声明并添加到 bash 数组如下:

declare -a  arr       # or arr=()
arr+=("item1")
arr+=("item2")

就这么简单。

执行该代码后,以下断言(以及其他断言)为真:

${arr[@]}  == item1 item2
${#arr[@]} == 2
${arr[1]} == item2

就您提供的代码而言,您将使用:

declare -a arr
for i in $( seq 0 $unknown ); do
...
some commands that will make $var1 change...
...

arr+=("$var1")
done

关于arrays - Bash:如何声明空数组,然后向其中添加变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60940921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com