Como encontrar o comprimento de uma matriz no script de shell

Como encontrar o comprimento de uma matriz no script de shell
Script Script é uma habilidade essencial que todo administrador do Linux ou Unix deve possuir. A capacidade de manipular e processar dados é uma das principais tarefas de um administrador Linux/Unix. Encontrar o comprimento de uma matriz é uma operação frequente em script de concha. O número total de elementos em uma matriz determina o comprimento da matriz. Veremos várias técnicas de script de shell neste post para determinar o comprimento de uma matriz.

Como encontrar o comprimento de uma matriz no script de shell

Encontrar a duração de uma matriz na concha pode ser útil para loop sobre elementos e executar operações. Além disso, pode ser usado para verificar se uma matriz possui um certo número de elementos antes de prosseguir com um script, abaixo estão algumas maneiras de fazê -lo:

  • Usando o parâmetro interno
  • Usando o comando expr
  • Usando o loop

Método 1: Usando o parâmetro interno

A maneira mais simples de encontrar o comprimento de uma matriz é usar o parâmetro interno do shell $ #Array [@] ou $ #Array [*]. Os símbolos @ e * são usados ​​para referenciar todos os elementos da matriz.

#!/BIN/BASH
my_array = (vermelho azul vermelho)
eco "O comprimento da matriz é $ #my_array [@]"

Aqui está a saída do script do shell que usa seu parâmetro embutido para obter o comprimento de uma matriz:

Método 2: Usando o comando EXPR

O comando EXPR é usado para avaliar uma expressão e imprimir o resultado da saída padrão. Podemos usar o comando wc -w para contar o número de elementos na matriz e passar o resultado para o comando EXPR para obter o comprimento da matriz.

#!/BIN/BASH
my_array = (vermelho azul vermelho)
comprimento = $ (echo $ my_array [@] | wc -w)
eco "O comprimento da matriz é $ (expr $ length)"

Aqui está a saída do script de shell que usa o EXPR para obter o comprimento de uma matriz:

Método 3: Usando para Loop

Também podemos encontrar o comprimento de uma matriz usando um loop for. Neste método, iteramos através de cada elemento da matriz e contamos o número de elementos.

#!/BIN/BASH
my_array = (vermelho azul vermelho)
comprimento = 0
para i em "$ my_array [@]"
fazer
comprimento = $ ((comprimento+1))
feito
eco "o comprimento da matriz é $ dinply"

Conclusão

Neste artigo, exploramos diferentes maneiras de encontrar a duração de uma matriz em script de shell. Usamos o parâmetro interno do shell $ #Array [@], o comando expr e um loop para encontrar o comprimento da matriz. Todos os três métodos são igualmente eficazes e depende da preferência e dos requisitos do usuário para escolher o método apropriado.