代码之家  ›  专栏  ›  技术社区  ›  masrur

为什么我的bash多维数组代码不起作用?

  •  0
  • masrur  · 技术社区  · 2 年前

    我正在尝试在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
    
    1 回复  |  直到 2 年前
        1
  •  1
  •   KamilCuk    2 年前

    为什么我的bash多维数组代码不起作用?

    因为Bash不支持多维数组。特别是,Bash不支持为数组成员分配列表,该列表应包含在错误消息中:

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