Como encontrar o comprimento do array BASH Shell (número de elementos)

2

Eu tenho a seguinte matriz:

LCANTIDAD_VM_=4
while [ $i -lt $LCANTIDAD_VM_  ];
do
    VM_NAME_=$(xe vm-list is-control-domain=false | head -n -$aux2 | tail -1 | cut -d ":" -f 2)
    VM_NAME_=$(trim $VM_NAME_)
    UUID=$(obtener_uuid $VM_NAME_)
    array_vm[$i,0]=$VM_NAME_
    LSPACE_DISK_=$(space_vm $UUID)
    array_vm[$i,1]=$LSPACE_DISK_
    array_vm[$i,2]="FALSE"
    array_vm[$i,3]="FALSE"
    array_vm[$i,4]="FALSE"
    let "i++"
    aux2=$(expr $aux2 + $aux3)
done

Eu preciso saber quantos elementos a matriz possui. Da seguinte maneira, obtenho o número de colunas:

SIZE_=${#array_vm[@]}

Na variável LCANTIDAD_VM _ eu tenho o número de vezes que itera e nesse fragmento de código eu poderia ter a quantidade. Mas se eu adicionar uma condição antes de adicionar um elemento, eu perco a quantia e preciso conhecê-la.

    
por Juan 11.09.2018 / 14:16

1 resposta

0

A melhor resposta é fornecida por @Isaac Não há matriz shell, apenas listas unidimensionais (chamadas arrays). Então o método que eu estava procurando não existe. Finalmente, em cada setor, salvei os dados com delimitadores e criei funções auxiliares para obtê-los.

    
por 14.09.2018 / 21:47