Bash 4.2关联数组抛出;错误的数组下标";错误
我正在尝试创建此关联数组,但由于Bash 4.2关联数组抛出;错误的数组下标";错误,bash,associative-array,bash4,Bash,Associative Array,Bash4,我正在尝试创建此关联数组,但由于volumeClaimTemplates[0] 这是我的代码: declare -A example=(["'spec.statefulSet.spec.volumeClaimTemplates[0].spec'"]="TEST") 这就是错误: ['spec.statefulSet.spec.volumeClaimTemplates[0].spec']=TEST: bad array subscript 如果我从vol
volumeClaimTemplates[0]
这是我的代码:
declare -A example=(["'spec.statefulSet.spec.volumeClaimTemplates[0].spec'"]="TEST")
这就是错误:
['spec.statefulSet.spec.volumeClaimTemplates[0].spec']=TEST: bad array subscript
如果我从
volumeClaimTemplates
中删除[0]
,则不会出现错误。让它这样工作
declare -A example=(["spec.statefulSet.spec.volumeClaimTemplates[0\].spec.storageClassName"]="TEST"
让它像这样工作
declare -A example=(["spec.statefulSet.spec.volumeClaimTemplates[0\].spec.storageClassName"]="TEST"
尝试转义方括号-即
\[0\]
。无法在bash 5.0中复制。请在docker run bash:4.2中复制。我相信在较旧的bash版本中,数组下标仅限于某些字符集@这是一个问答论坛。你在帖子里没有问任何问题。本着这个论坛的精神,你能补充一个问题吗?似乎]
字符是问题所在-声明-A=([“]”“]=1)
是否尝试使用关联数组模拟嵌套对象?也许您应该使用已经有它们的语言。如果Iprintf%q\\n“'spec.statefolset.spec.volumeClaimTemplates[0].spec'”
它会输出→ <代码>\'spec.statefulSet.spec.volumeClaimTemplates\[0\].spec\'
。我简单地引用关联数组键的方式如下:declare-A example=([\'spec.statefulSet.spec.volumeClaimTemplates\[0\].spec\']=“TEST”)
尝试转义方括号-即\[0\]
。无法在bash 5.0中复制。请在docker运行bash:4.2
中复制。我相信在较旧的bash版本中,数组下标仅限于某些字符集@这是一个问答论坛。你在帖子里没有问任何问题。本着这个论坛的精神,你能补充一个问题吗?似乎]
字符是问题所在-声明-A=([“]”“]=1)
是否尝试使用关联数组模拟嵌套对象?也许您应该使用已经有它们的语言。如果Iprintf%q\\n“'spec.statefolset.spec.volumeClaimTemplates[0].spec'”
它会输出→ <代码>\'spec.statefulSet.spec.volumeClaimTemplates\[0\].spec\'。我只想用同样的方式引用关联数组键:declare-A-example=([\'spec.statefulSet.spec.volumeClaimTemplates\[0\].spec\']=“TEST”)