我希望一个善良的人比我能在这里帮助我。
我正在处理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
中的值时,没有任何结果
也许有人会在正确的方向帮助我?
我真的非常感谢。
答案 0 :(得分:1)
您声明并添加到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