以下是我对
提出的问题的代码#!/bin/bash
declare -a data81
for ((i=1; i<=3; i++))
do
for ((j=1; j<=2; j++))
do
data81[$i, $j]=$i
printf "%4s" ${data81[$i, $j]}
printf "%4s\n" ${data81[1, 1]}
done
echo
done
输出如下:
1 1
1 1
2 2
2 2
3 3
3 3
这不是我想要的,因为我使用了printf "%4s\n" ${data81[1, 1]}
,所以第二列应该是相同的。
答案 0 :(得分:0)
更改此行:
declare -a data81
对此:
declare -A data81
这不会创建多维数组,而是创建关联数组。索引是一个字符串,充当字典类型数据结构的键。注意如何构建索引,每次访问元素时都必须具有完全相同的结构。
答案 1 :(得分:0)
你可以这样试试。
#!/bin/bash
declare -a data81
for ((i=1; i<=3; i++))
do
for ((j=1; j<=2; j++))
do
data81[$i$j]=$i
printf "%4s" ${data81[$i$j]}
printf "%4s\n" ${data81[11]}
done
echo
done