【发布时间】:2021-07-22 10:22:10
【问题描述】:
在 bash 5.0.17 中,
s='X'; declare -n s2=s
s2+=YYY; declare -p s
正确生成declare -- s="XYYY"。到目前为止,一切都很好。现在,如果我为关联数组键创建一个 nameref 怎么办?
declare -A aa
aa=( [k1]=v1 ); declare -n 'nk1=aa[k1]'
nk1+=YYY; declare -p aa
(我认为引号是必需的,否则会发生文件名扩展——使用shopt -s nullglob 进行测试)。这会产生
declare -A aa=([k1]="v1aa[k1]YYY" )
这种声明 nameref(或附加)的语法是否错误?
【问题讨论】:
标签: bash associative-array indirection