【发布时间】:2018-07-16 22:23:10
【问题描述】:
假设我们有这样的 Bash 4 脚本:
1: arr='my_array';
2: declare -A "${arr}";
3: my_array[foo]='This is foo';
4: arrfoo="${arr}[foo]";
5: echo "${!arr}";
输出是:
This is foo
但请注意,数组 my_array 是动态声明的(第 2 行),我已经使用它的直接名称(第 3 行)分配了值(在索引 foo 下)。
我找不到通过动态名称为关联数组赋值的语法(在这种情况下,我的意思是通过${arr} 变量)。这可能吗,因为您可以动态声明数组?构造如下:
declare -A "${arr}"=(
[foo]='This is foo'
);
只是不工作。
【问题讨论】: