Como usar matrizes em Bash

Como usar matrizes em Bash
Quando você deseja usar vários dados usando uma única variável em qualquer linguagem de programação, você deve usar variáveis ​​de matriz. A lista de dados pode ser atribuída e usada usando uma variável de matriz. Bash é uma linguagem fracamente digitada que não requer definir nenhum tipo de dados para declarar a variável. A declaração de matriz em Bash é um pouco diferente de outras linguagens de programação padrão. Dois tipos de matriz podem ser declarados em Bash. Array numérico e matriz associativa. Se o índice de uma matriz for numérico, será chamado de matriz numérica e, se o índice de uma matriz for uma string, ela será chamada de matriz associativa. Como você pode declarar uma matriz numérica, matriz associativa e elementos iterados da matriz usando o loop são descritos com exemplos neste tutorial.

Exemplo 1: Declaração de Array Numérico:

O índice padrão de uma matriz é numérico e todos os valores são tomados como um valor de string. Uma matriz numérica simples de 5 valores de sequência é declarada aqui. O eco O comando é usado aqui para imprimir cada valores de matriz separadamente. Se você deseja imprimir todos os valores da matriz por solteiro eco Comando, então o símbolo "*" deve ser usado no índice da matriz. Crie um arquivo bash com o seguinte script que mostra duas maneiras de declarar uma matriz no script Bash.

#!/BIN/BASH
MyArray = (HTML JavaScript CSS JQuery Bootstrap)
# Imprima 5 valores individualmente
eco "---------- Imprima 5 valores individualmente ---------------"
eco $ MyArray [0]
eco $ MyArray [1]
eco $ MyArray [2]
eco $ MyArray [3]
eco $ MyArray [4]
#Print Todos os valores usando *
eco "----------------- Imprima todos os valores -------------------"
eco $ MyArray [*]

Saída:

A saída a seguir aparecerá após a execução do script acima.

Exemplo 2: Declaração de matriz associativa:

Cada índice da matriz precisa ser declarado separadamente na matriz associativa. Crie um arquivo bash com o seguinte script para saber o uso de matriz associativa em Bash. Uma matriz associativa de 4 elementos é declarada nos exemplos a seguir. Os valores da matriz podem ser impressos usando cada índice separadamente, como o exemplo anterior. Somente os índices da matriz associativa podem ser impressos usando o “!”E símbolos“@”.

#!/BIN/BASH
# Declaração de matriz associativa
Declare -a Myarr
# Inicialização do valor
Myarr = ([mark] = 79 [John] = 93 [ella] = 87 [mila] = 83)
# Valores de impressão
eco $ myarr [mark]
eco $ myarr [John]
eco $ myarr [ella]
eco $ myarr [mila]
#Print Indexes
eco $ !Myarr [@]

Saída:

A saída a seguir aparecerá após a execução do script acima.

EXEMPLO 3: LEITURA VALORES DE ARRAY Usando para Loop:

O número total de elementos de qualquer matriz de bash pode ser contado usando o "#" e "*" símbolos mostrados na primeira parte do exemplo seguinte. Crie um arquivo bash com o seguinte script para saber a maneira de ler os valores da matriz usando o loop. Para O loop é comumente usado para iterar os valores de uma matriz. Você também pode ler valores de matriz e índices de matriz separadamente usando o loop. Diferentes loops são usados ​​no exemplo a seguir para ler índices de matriz, valores de matriz e ambos.

#!/BIN/BASH
# Declaração de matriz associativa
Declare -a Myarr
# Inicialização do valor
Myarr = ([OS] = Windows [web] = php [db] = oracle)
eco "Número total de elementos = $ #myarr [*]"
eco "os valores da matriz são"
Para valor em $ myarr [@]
fazer
eco $ valor
feito
eco "os índices de matriz são"
Para chave em $ !Myarr [@]
fazer
eco $ key
feito
eco "Valores e índices da matriz:"
Para chave em $ !Myarr [*]
fazer
eco "$ key => $ myarr [$ key]"
feito

Saída:
A saída a seguir aparecerá após a execução do script acima.

Exemplo-4: Adicionar elemento à matriz

O novo elemento pode ser adicionado a uma matriz de maneiras diferentes. A maneira de adicionar um ou mais elementos usando o operador abreviado (+=) mostrou neste exemplo. Crie um arquivo bash com o seguinte script para saber como o novo elemento pode ser inserido em uma matriz.

#!/BIN/BASH
# Declare uma matriz numérica
Declare -a Myarr
# Inicialize a matriz com dois elementos
Myarr = (Ubuntu Centos)
# Imprimir número total de elementos
eco "Número total de elementos da matriz atual = $ #myarr [*]"
# Adicione um elemento
Myarr+= (fedora)
# Imprima o número total de elementos após adicionar um elemento
eco "Número total de elementos depois de adicionar um elemento = $ #myarr [*]"
# Adicione dois elementos
Myarr+= (Redhat LinuxMint)
# Imprima o número total de elementos depois de adicionar dois elementos
eco "Número total de elementos depois de adicionar dois elementos = $ #myarr [*]"
# Imprima todos os elementos da matriz
eco "Os elementos da matriz são:"
eco "$ myarr [@]"

Saída:

A saída a seguir aparecerá após a execução do script acima.

Exemplo 5: Exclua um elemento da matriz

O 'desmembrado'O comando é usado para excluir um ou todos os elementos da matriz. Crie um arquivo bash com o seguinte script para saber como excluir um e todos os elementos de uma matriz numérica.

#!/BIN/BASH
# Declare uma matriz numérica
Declare -a Myarr
# Inicialize a matriz com dois elementos
Myarr = (Dell HP Lenavo Acer asus avita)
# Imprimir número total de elementos
eco "Número total de elementos da matriz atual = $ #myarr [*]"
# Valores da matriz de impressão antes de excluir
eco "Valores da matriz antes de excluir:"
eco "$ myarr [@]"
# Exclua o quarto elemento
Unset Myarr [3]
# Imprima o número total de elementos após a exclusão de um elemento
eco "Número total de elementos após excluir um elemento = $ #myarr [*]"
# Valores da matriz de impressão após excluir
eco "Valores da matriz após excluir um elemento:"
eco "$ myarr [@]"
# Exclua todos os elementos
Unset Myarr
# Imprimir valores de matriz após excluir todos os elementos
eco "Valores da matriz após excluir todos os elementos:"
eco "$ myarr [@]"

Saída:

A saída a seguir aparecerá após a execução do script acima.

Exemplo 6: Imprima o valor da string de várias palavras

O valor da matriz requer incluir cotações duplas ("") para adicionar valor de string de várias palavras em uma matriz. Crie um arquivo bash com o seguinte script, onde uma matriz associada inicializou com os valores de string de várias palavras.

#!/BIN/BASH
# Declare uma matriz associativa
Declare -a Myarr
# Inicialize a matriz com o valor da string de várias palavras
Myarr = ([CSE-101] = "Fundamental do computador" [CSE-207] = "Programação Java" [CSE-312] = "Programação da Web")
# Imprima os valores da matriz de várias palavras
eco "Os valores da matriz são:"
para val em "$ myarr [@]"; fazer
eco $ val
feito

Saída:

A saída a seguir aparecerá após a execução do script acima.

Conclusão:

A matriz é usada na programação para muitos fins. Alguns usos comuns e muito simples da matriz em Bash foram mostrados neste tutorial. Depois de exercitar os exemplos acima, o conceito básico de matriz Bash será liberado para os usuários do Bash, e eles poderão usar a matriz Bash adequadamente em seu script.