我试图通过以下方式击与空间关联数组在密钥
#!/bin/bash
hash["name"]='Ashwin'
echo ${hash["name"]}
这将打印所需的输出以创建在bash关联数组。
但是当钥匙中有一个空间,
#!/bin/bash
hash["first name"]='Ashwin'
echo ${hash["first name"]}
我收到以下错误
test2.sh: line 2: first name: syntax error in expression (error token is "name")
是关键不允许有中有空格?
根据你使用bash 3.猛砸3不支持关联数组回答您的评论测试,这里有一些[解决方法](http://stackoverflow.com/questions/11776468/create-associative-array-in-bash-3) – iruvar 2013-04-23 19:23:53
由于'bash' 4之前不支持关联数组,所以你的第一个例子实际上被视为一个常规数组。解析器能够处理简单的字符串,它需要一个整数值,并将它们全部视为值0.您可以使用许多不同的字符串对“hash”进行索引,并且“$ {hash [key]}”仍然会扩展为“ Ashwin'。 – chepner 2013-04-23 20:12:44