我試圖通過以下方式擊與空間關聯數組在密鑰
#!/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