我需要循环一个关联数组并将其内容排放到临时数组(并对该值执行一些更新).
然后应该丢弃第一个数组的剩余内容,并且我想将temp数组分配给原始数组变量.
Sudo代码:
declare -A MAINARRAY
declare -A TEMPARRAY
... populate ${MAINARRAY[...]} ...
while something; do #Drain some values from MAINARRAY to TEMPARRAY
${TEMPARRAY["$name"]}=((${MAINARRAY["$name"]} + $somevalue))
done
... other manipulations to TEMPARRAY ...
unset MAINARRAY #discard left over values that had no update
declare -A MAINARRAY
MAINARRAY=${TEMPARRAY[@]} #assign updated TEMPARRAY back to MAINARRAY (ERROR HERE)
Run Code Online (Sandbox Code Playgroud) 可以构造一个关联数组,其元素包含bash中的数组吗?例如,假设有一个具有以下数组:
a=(a aa)
b=(b bb bbb)
c=(c cc ccc cccc)
Run Code Online (Sandbox Code Playgroud)
可以创建一个关联数组来访问这些变量吗?例如,
declare -A letters
letters[a]=$a
letters[b]=$b
letters[c]=$c
Run Code Online (Sandbox Code Playgroud)
然后通过诸如的命令访问各个元素
letter=${letters[a]}
echo ${letter[1]}
Run Code Online (Sandbox Code Playgroud)
这种用于创建和访问关联数组元素的模拟语法不起作用.是否存在实现相同目标的有效表达式?