问题描述
我会试着解释一下:
我正在编写一个 bash 脚本并且我在 for 循环中。对于 all 循环,我得到了一个变量 VAR_ID
,用于存储另一个变量的标识符,该变量将在所有工作完成后导出。对于每一个循环,我得到一个变量VAL
。 VAL
的值应分配给 VAR_ID
的值。最后,VAR_ID
的值必须是一个数组才能存储所有值。
呸……嗯,这对我来说有点难以解释,但我认为这个简单的脚本应该可以阐明我想要做的事情(当然它是从其实际目的缩小的):
#!/bin/bash
COUNT=0
VAR_ID="my_array"
declare -a "$VAR_ID"
while (( $COUNT <= 2 ))
do
VAL=$RANDOM
$VAR_ID+=( "$VAL" ) # this doesn't work
(( COUNT++ ))
done
export $VAR_ID
这应该会产生一个变量 my_array
和其中的三个随机值。我尝试在 declare
中使用 declare $VAR_ID=$VAL
,但如果我使用 +=
而不是 =
,这将不再起作用。
COUNT
可以在可能的解决方案中用作位置编号,如果有帮助的话,因为我的原始脚本中也有。
提前感谢您的帮助
编辑:我知道 eval
有可能,但我尽量避免使用它,直到没有其他方法为止。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)