我希望有一个比我更聪明的好人能帮助我。
我正在编写一个 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/