我在ubuntu中创建了一个50 x 1
矩阵,如下所示:
#!/bin/bash
declare -A matrix
num_rows=1
num_columns=50
for ((n=0;n<=(($num_columns-1));n++)) do
for ((i=1;i<=num_rows;i++)) do
matrix[$i,$j]=net$(($n+1))
#echo "${matrix[$i,$j]}" >> temp
done
done
现在我想将 50 x 1 矩阵的每个元素分配给一个变量(比如“q”);例如 q1=net1,q2=net2,...q50=net50。有谁知道如何在linux中实现这一点?提前致谢。
答案1
根据要求,我正在创建一个变量列表,前缀为 ,q
后跟序列号 (c),然后将其分配给您的数组变量。
#!/bin/bash
declare -A matrix
num_rows=1
num_columns=50
c=1
for ((n=0;n<=(($num_columns-1));n++)) do
for ((i=1;i<=num_rows;i++)) do
matrix[$i,$j]=net$(($n+1))
declare "q$c=${matrix[$i,$j]}"
((c++))
done
done
要输出它们,您可以使用类似如下的方法:
for ((i=1;i<(($num_columns-1));i++)) do
var=q$i
echo "${!var}"
done