相关疑难解决方法(0)

如何在Bash中重命名关联数组?

我需要循环一个关联数组并将其内容排放到临时数组(并对该值执行一些更新).

然后应该丢弃第一个数组的剩余内容,并且我想将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)

variables bash associative-array

16
推荐指数
4
解决办法
2万
查看次数

bash中的嵌套关​​联数组

可以构造一个关联数组,其元素包含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)

这种用于创建和访问关联数组元素的模拟语法不起作用.是否存在实现相同目标的有效表达式?

bash associative-array nested

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

associative-array ×2

bash ×2

nested ×1

variables ×1