在键中使用空格的Bash关联数组

Baj*_*jji 5 arrays bash

我试图以下面的方式在bash中创建一个关联数组

#!/bin/bash
hash["name"]='Ashwin'
echo ${hash["name"]}
Run Code Online (Sandbox Code Playgroud)

这将打印所需的输出:Ashwin执行时.

但是当钥匙有空间时,

#!/bin/bash
hash["first name"]='Ashwin'
echo ${hash["first name"]}
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

test2.sh: line 2: first name: syntax error in expression (error token is "name")
Run Code Online (Sandbox Code Playgroud)

钥匙不允许有空格吗?

Ale*_*lex 9

如果您declare -A hash在值赋值之前首次使用,则脚本将按预期运行.

使用bash 4.2.25进行测试