在关联数组引用的索引字段中引用Bash变量



"${array[$key]}""${array["$key"]}"

通常,我引用所有bash变量作为默认值,但有目的的例外。为关联数组指定关键字时该怎么办?我看到,在简单的情况下,键可以有空格,并且在没有引号的情况下似乎不会出现任何分词问题,但shell经常出现结构有警告的模糊情况。

CCD_ 3和CCD_。在关联数组引用的索引字段中不引用变量是一种坏习惯,这有什么原因吗?

关联数组下标中的变量不需要引用。

如果使用了双引号,它们将被删除(无论是否也引用了整个数组变量(。所以,如果你愿意,你可以双引号,但它没有任何作用。

正常情况下,单引号停止变量(包含数组下标(的扩展。

man bash>Arrays

associative arrays are referenced using arbitrary strings

另外请注意,索引数组下标是作为算术计算的,这意味着$对于下标中使用的变量是不必要的。

最新更新