【发布时间】:2020-11-14 02:58:33
【问题描述】:
我正在尝试在 sh 中声明一个关联数组并使用 for 循环运行:
test_array=([a]=10 [b]=20 [c]=30)
for k in "${!test_array[@]}"
do
printf "%s\n" "$k=${test_array[$k]}"
done
而且这只返回最后一个数组元素:
0=30
知道我做错了什么吗?
【问题讨论】:
-
感谢@FredrikPihl,使用 Paused 提出的解决方案,直到另行通知,我得到了相同的结果,只有最后一个数组值显示在键 0 处。
-
您是否将
test_array声明为关联数组?declare -A test_array -
您的意思是 Posix
sh?我不知道shell是哪个程序。 -
@kvantour,刚刚试过,还是一样。请注意,我在 sh,而不是 bash。