Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
Linux 在shell脚本中读取矩阵中的值_Linux_Bash_Matrix - Fatal编程技术网

Linux 在shell脚本中读取矩阵中的值

Linux 在shell脚本中读取矩阵中的值,linux,bash,matrix,Linux,Bash,Matrix,它仅指定值3 5 和印刷品 2 3 4 5 可以通过以下几种方式使用索引算法模拟二维阵列。以下是一种常见的方法: 3 3 5 5 通过一些额外的格式化,您可以制作一个漂亮的模拟2D阵列: $ bash sim2darray.sh 1 2 3 4 1 2 3 4 POSIX shell中没有数组,你在说什么shell?在任何其他数据库中都没有二维数组,因此不清楚您在尝试什么。@DavidC.Rankin bash shell您能做的最好的事情是用索引算法模拟二维数组,您是如何填写

它仅指定值3 5 和印刷品

2 3
4 5

可以通过以下几种方式使用索引算法模拟二维阵列。以下是一种常见的方法:

3 3
5 5
通过一些额外的格式化,您可以制作一个漂亮的模拟2D阵列:

$ bash sim2darray.sh
1
2
3
4
  1  2
  3  4

POSIX shell中没有数组,你在说什么shell?在任何其他数据库中都没有二维数组,因此不清楚您在尝试什么。@DavidC.Rankin bash shell您能做的最好的事情是用索引算法模拟二维数组,您是如何填写
a
?你不能
读[i][j]
。你能给我一些关于数组声明部分的提示吗?
#!/bin/bash

## read values into a 1D array using nested loops and
## simulated 2D addressing
for ((i = 0; i < 2; i++)); do
    for ((j = 0; j < 2; j++)); do
        read a[$((i * 2 + j))]
    done
done

## Output the values contained in a simulated 2D manner
for ((i = 0; i < 2; i++)); do
    for ((j = 0; j < 2; j++)); do
        printf " %2d" ${a[$((i * 2 + j))]}
    done
    echo ""
done
$ bash sim2darray.sh
1
2
3
4
  1  2
  3  4
#!/bin/bash

for ((i = 0; i < 5; i++)); do
    for ((j = 0; j < 5; j++)); do
        a[$((i * 5 + j))]=$((i * 5 + j))
    done
done

printf "\nThe simulated 5x5 2D array:\n\n"
for ((i = 0; i < 5; i++)); do
    [ "$i" -eq 0 ] && printf "[[" || printf " ["

    for ((j = 0; j < 5; j++)); do
        printf " %3d" ${a[$((i * 5 + j))]}
    done

    [ "$i" -eq 4 ] && printf " ]]\n\n" || printf " ]\n"
done
$ bash sim2darray.sh

The simulated 5x5 2D array:

[[   0   1   2   3   4 ]
 [   5   6   7   8   9 ]
 [  10  11  12  13  14 ]
 [  15  16  17  18  19 ]
 [  20  21  22  23  24 ]]