我尝试在bash中创建一个关联数组,如下所示:
#! /bin/bash
declare -a arr
while read key
do
arr+=([$key]=1)
done < /dev/stdin
for i in ${!arr[@]}
do
echo "key:$i,value:${arr[$i]}"
done
我已经把“豹”和“龙头”作为关键词,输出应该是我的想法:
key:leopard,value:1
key:longtuan,value:1
但我只有:
key:0,value:11
我如何解决这个问题,谢谢你的帮助。
答案 0 :(得分:3)
您正在创建常规数组而不是关联数组。改变这个:
declare -a arr
进入这个:
declare -A arr
问题就会消失。
答案 1 :(得分:2)
关联数组用大写A:
声明declare -A arr
declare -a
声明一个常规数组。