二维数组 bash

two dimension array bash

我看了很多这方面的文章。对我最有用的是这个

How to declare 2D array in bash

这个答案似乎很有用,因为他得到了 20 个赞。 但是我看不出我做了什么不同(除了我的数组没有设置在循环中)

matrix[0,0]=2
matrix[0,1]=1
matrix[1,0]=9
matrix[1,1]=8
matrix[1,2]=7

echo ${matrix[0,0]}
echo ${matrix[0,1]}
echo ${matrix[1,0]}
echo ${matrix[1,1]}
echo ${matrix[1,2]}

我明白了 9 8个 9 8个 7

您缺少通过 -A:

作为 关联数组 的变量声明
typeset -A matrix

没有它,你似乎得到了一个普通的数组,然后实际上只使用了最后一个索引;这解释了你得到的(错误的)结果。