Как переименовать ассоциативный массив в Bash?

Мне нужно перебрать ассоциативный массив и слить его содержимое во временный массив (и выполнить некоторое обновление значения).

Затем следует удалить оставшееся содержимое первого массива, и я хочу назначить временный массив исходной переменной массива.

Код 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)
16
задан codeforester 18 September 2018 в 00:17
поделиться