Arrays 键中有空格的关联数组

Arrays 键中有空格的关联数组,arrays,bash,Arrays,Bash,我尝试用以下方式在Bash中创建关联数组: #!/bin/bash hash["name"]='Ashwin' echo ${hash["name"]} 这将在执行时打印所需的输出Ashwin 但当钥匙上有一个空间时 #!/bin/bash hash["first name"]='Ashwin' echo ${hash["first name"]} 我得到以下错误 test2.sh: line 2: first

我尝试用以下方式在Bash中创建关联数组:

#!/bin/bash
hash["name"]='Ashwin'
echo ${hash["name"]}
这将在执行时打印所需的输出Ashwin

但当钥匙上有一个空间时

#!/bin/bash
hash["first name"]='Ashwin'
echo ${hash["first name"]}
我得到以下错误

test2.sh: line 2: first name: syntax error in expression (error token is "name")

键中不允许有空格吗?

如果在赋值之前先使用
声明-A hash
,则脚本将按预期运行


它是使用Bash 4.2.25测试的。

根据您对使用Bash 3的答案的评论。Bash 3不支持关联数组,下面是一些示例,因为在
Bash
4之前不支持关联数组,所以第一个示例实际上被视为常规数组。解析器能够处理需要整数值的简单字符串,并将它们都视为值为0。您可以使用许多不同的字符串索引
哈希
,并且
${hash[key]}
仍然扩展到
Ashwin