我想问一下我用来将二维数组元素的值赋给变量的语法。这基本上就是我要做的事情:我有一个2维字符数组和一个名为sub_string的字符串,它获取数组中特定元素的值并将其放入另一个名为whole_string的字符串中
for ((j=1;j<=num_columns;j++)) do
for ((i=1;i<=num_rows;i++)) do
将数组矩阵中元素[i,j]的值赋给sub 串
whole_string="$whole_String$sub_string"
done
done
我想知道如何将数组的值赋给我拥有的子字符串。谢谢
答案 0 :(得分:3)
使用当前bash,您可以转移关联数组以创建多维数组。
#!/bin/bash
declare -A A # declare associative array A
num_rows=7
num_columns=9
# fill array
for ((j=1;j<=num_rows;j++)) do
for ((i=1;i<=num_columns;i++)) do
A[$j,$i]="$j:$i" # fill with row:column
done
done
# print array
for ((j=1;j<=num_rows;j++)) do
for ((i=1;i<=num_columns;i++)) do
echo -n "${A[$j,$i]} "
done
echo
done
输出(9x7阵列):
1:1 1:2 1:3 1:4 1:5 1:6 1:7 1:8 1:9 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 3:1 3:2 3:3 3:4 3:5 3:6 3:7 3:8 3:9 4:1 4:2 4:3 4:4 4:5 4:6 4:7 4:8 4:9 5:1 5:2 5:3 5:4 5:5 5:6 5:7 5:8 5:9 6:1 6:2 6:3 6:4 6:5 6:6 6:7 6:8 6:9 7:1 7:2 7:3 7:4 7:5 7:6 7:7 7:8 7:9