"${array[$key]}"
与"${array["$key"]}"
?
通常,我引用所有bash变量作为默认值,但有目的的例外。为关联数组指定关键字时该怎么办?我看到,在简单的情况下,键可以有空格,并且在没有引号的情况下似乎不会出现任何分词问题,但shell经常出现结构有警告的模糊情况。
CCD_ 3和CCD_。在关联数组引用的索引字段中不引用变量是一种坏习惯,这有什么原因吗?
关联数组下标中的变量不需要引用。
如果使用了双引号,它们将被删除(无论是否也引用了整个数组变量(。所以,如果你愿意,你可以双引号,但它没有任何作用。
正常情况下,单引号将停止变量(包含数组下标(的扩展。
man bash
>Arrays
associative arrays are referenced using arbitrary strings
另外请注意,索引数组下标是作为算术计算的,这意味着$
对于下标中使用的变量是不必要的。