在我们进入这个问题之前,我知道在堆栈溢出时已经有类似的答案了。然而,这个是独一无二的,因为它使用带有关联数组的 eval 语句。(相信我,我都读过)。
好的,现在进入问题
我通过类似于此的 eval 函数定义了 X 个数组:
for (( i=1;i<=X;i++ ))
do
eval "declare -gA old$i"
eval "old$i[key]=value"
done
此代码在函数中:makeArrays
现在我有第二个函数必须遍历这些不同的数组
old1
old2
.
.
.
oldX
我会调用这个函数:useArrays
现在,我有一个用于这个 useArrays 函数的 for 循环。
for (( i=0;i<$#;i++ ))
do
// ACCESS OLD1[KEY]
done
我的问题是,我如何访问这个数组进行比较。IE if[ old1 -eq 0 ] then ... fi
有没有办法可以将这些关联数组复制到一个变量中,以便尽可能少地使用 eval 进行比较?