Arrays 将数组的值赋给变量bash脚本
我想问一下我用来将二维数组元素的值赋给变量的语法。这基本上就是我要做的:我有一个二维字符数组和一个名为sub_string的字符串,它获取数组中某个特定元素的值,并将其放入另一个名为whole_string的字符串中Arrays 将数组的值赋给变量bash脚本,arrays,bash,shell,variable-assignment,Arrays,Bash,Shell,Variable Assignment,我想问一下我用来将二维数组元素的值赋给变量的语法。这基本上就是我要做的:我有一个二维字符数组和一个名为sub_string的字符串,它获取数组中某个特定元素的值,并将其放入另一个名为whole_string的字符串中 for ((j=1;j<=num_columns;j++)) do for ((i=1;i<=num_rows;i++)) do 我想知道如何将数组的值分配给我拥有的子字符串。谢谢您使用当前的bash,您可以转移关联数组以创建多维数组 #!/bin/bas
for ((j=1;j<=num_columns;j++)) do
for ((i=1;i<=num_rows;i++)) do
我想知道如何将数组的值分配给我拥有的子字符串。谢谢您使用当前的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
#/bin/bash
declare-A A#declare关联数组A
行数=7
num_columns=9
#填充数组
对于具有当前bash的((j=1;j),可以转移关联数组以创建多维数组
#!/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
!/bin/bash
declare-A A#declare关联数组A
行数=7
num_columns=9
#填充数组
对于具有当前bash的((j=1;j),可以转移关联数组以创建多维数组
#!/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
!/bin/bash
declare-A A#declare关联数组A
行数=7
num_columns=9
#填充数组
对于具有当前bash的((j=1;j),可以转移关联数组以创建多维数组
#!/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
!/bin/bash
declare-A A#declare关联数组A
行数=7
num_columns=9
#填充数组
for((j=1;jbash
没有二维数组,也不能将数组存储在另一个数组中……可以对数组进行转义,如printf-v arr_str'%q'${arr[@]}”
--并将结果字符串存储为数组元素…但问题仍然非常、非常模糊和不清楚,无法理解这是否真正有助于实现一个合理的目标。具有${x}形式键的一维关联数组_$y
有时足以模拟二维数组……但问题还是太不清楚了。当然,有很多方法可以伪造它,但是否有值得努力的方法值得商榷。如果您需要这样的数据结构,bash
(或我能想到的任何shell)是错误的选择。bash
没有二维数组,也不能将数组存储在另一个数组中……可以转义数组——如printf-v arr_str'%q'${arr[@]}”
--并将结果字符串存储为数组元素…但问题仍然非常、非常模糊和不清楚,无法理解这是否真正有助于实现一个合理的目标。具有${x}形式键的一维关联数组_$y
有时足以模拟二维数组……但问题还是太不清楚了。当然,有很多方法可以伪造它,但是否有值得努力的方法值得商榷。如果您需要这样的数据结构,bash
(或我能想到的任何shell)是错误的选择。bash
没有二维数组,也不能将数组存储在另一个数组中……可以转义数组——如printf-v arr_str'%q'${arr[@]}”
--并将结果字符串存储为数组元素…但问题仍然非常、非常模糊和不清楚,无法理解这是否真正有助于实现一个合理的目标。具有${x}形式键的一维关联数组_$y
有时足以模拟二维数组……但问题还是太不清楚了。当然,有很多方法可以伪造它,但是否有值得努力的方法值得商榷。如果您需要这样的数据结构,bash
(或我能想到的任何shell)是错误的选择。bash
没有二维数组,也不能将数组存储在另一个数组中……可以转义数组——如printf-v arr_str'%q'${arr[@]}”
--并将结果字符串存储为数组元素…但问题仍然非常、非常模糊和不清楚,无法理解这是否真正有助于实现一个合理的目标。具有${x}形式键的一维关联数组_$y
有时足以模拟二维数组……但问题又太不清楚了。当然,有很多方法可以伪造它,但是否有值得努力的方法值得商榷。如果您需要这样的数据结构,bash
(或我能想到的任何shell)是错误的选择。