假设我已经declare -A aaa
和aaa[bbb]=0
创建了一个关联数组var=aaa
,我有aaa[bbb]
。如何仅使用var
和bbb
将eval "(($var[bbb]++))"
增加1,因为我可能不知道运行时中数组的确切名称。
我已经尝试了MPMediaItemPropertyTitle
,但它没有用。
谢谢!
答案 0 :(得分:0)
我认为这很重要,可以在答案中注明,而不仅仅是评论。您不需要eval
。算术语句独立于参数扩展而自行解除引用变量,因此只需使用参数扩展将var
替换为aaa
即可。
bash-4.4$ declare -A aaa
bash-4.4$ aaa[bbb]=0
bash-4.4$ ((aaa[bbb]++))
bash-4.4$ echo ${aaa[bbb]}
1
bash-4.4$ var=aaa
bash-4.4$ (($var[bbb]++))
bash-4.4$ echo ${aaa[bbb]}
2