【发布时间】:2016-11-24 09:02:35
【问题描述】:
我尝试在 bash 中设置以下二维数组:
$ a[0,0]=a0
$ a[1,0]=a1
$ echo ${a[0,0]}
a1
我希望得到a0,我错过了什么?
【问题讨论】:
-
我不是 100% 确定这一点,但我认为
0,0和1,0在算术上下文中被评估,所以你得到与$((1,0))和$((0,0))相同的结果即第一个数字被评估并丢弃,在这两种情况下都留下0。不过,我不知道您从哪里得到支持多维数组的想法。 -
Bash ONLY 提供一维索引和关联数组变量。虽然模拟多维数组有一些棘手的方法,但它们并不是一个好的解决方案。如果有机会,最好改用其他脚本语言,例如 Perl、Pyhton 甚至是支持多维数组的某些版本的 Ksh。