Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 将数组的值赋给变量bash脚本_Arrays_Bash_Shell_Variable Assignment - Fatal编程技术网

Arrays 将数组的值赋给变量bash脚本

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

我想问一下我用来将二维数组元素的值赋给变量的语法。这基本上就是我要做的:我有一个二维字符数组和一个名为sub_string的字符串,它获取数组中某个特定元素的值,并将其放入另一个名为whole_string的字符串中

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;j
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)是错误的选择。
bash
没有二维数组,也不能将数组存储在另一个数组中……可以转义数组——如
printf-v arr_str'%q'${arr[@]}”
--并将结果字符串存储为数组元素…但问题仍然非常、非常模糊和不清楚,无法理解这是否真正有助于实现一个合理的目标。具有
${x}形式键的一维关联数组_$y
有时足以模拟二维数组……但问题又太不清楚了。当然,有很多方法可以伪造它,但是否有值得努力的方法值得商榷。如果您需要这样的数据结构,
bash
(或我能想到的任何shell)是错误的选择。