我正在bash中使用地图,如下所示:
declare -a hash
hash=(["a"]="A" ["b"]="B" ["c"]="C" ["d"]="D")
echo ${hash["a"]}
但是它正在打印D
而不是A
。此代码段有什么问题?
答案 0 :(得分:1)
您的问题就是如何定义变量哈希。
declare -a hash
用于索引数组,我的意思是索引只是数字的数组。
要声明一个关联数组,只需将-a更改为-A:
declare -A hash
这样,您可以将字母写为索引,并且该回显将按预期工作。
希望我能帮上忙!
答案 1 :(得分:0)
您输入有误或错字,而是指定了键-a
而不是-A
所以,相反:
declare -a hash
使用:
declare -A hash