linux 为什么我的bash多维数组代码不工作?[副本]

vyswwuz2  于 2023-10-16  发布在  Linux
关注(0)|答案(1)|浏览(150)

此问题已在此处有答案

How to declare 2D array in bash(12个回答)
Multi-dimensional arrays in Bash(14个回答)
19天前关闭。
我试图在bash中创建一个多维数组并访问元素。但它不起作用。
我尝试了这个代码,但有错误

# Create an indexed array to hold the inner arrays
    array=()

# Initialize the inner arrays
  array[0]=(1 2 3)
  array[1]=(4 5 6)
  array[2]=(7 8 9)

# Access elements
  element_12="${array[1][2]}"
  echo "Element at [1][2]: $element_12"

# Loop through the elements
    for ((i = 0; i < ${#array[@]}; i++)); do
        inner_array=("${array[i][@]}")  # Copy the inner array
        for ((j = 0; j < ${#inner_array[@]}; j++)); do
            echo "Element at [$i][$j]: ${inner_array[j]}"
       done
   done
nkkqxpd9

nkkqxpd91#

为什么我的bash多维数组代码不工作?
因为Bash不支持多维数组。特别是,Bash不支持将列表分配给数组成员,这应该包含在错误消息中:

$ array[0]=(1 2 3)                                                                                                                             
-bash: array[0]: cannot assign list to array member

相关问题