Matrizes associativas em scripts de shell - bash

Matrizes associativas em scripts de shell - bash

Matrizes associativas são uma estrutura de dados essencial em linguagens de programação que permitem armazenar pares de valor-chave. Bash, a concha mais usada no sistema operacional Linux, também suporta matrizes associativas. Este artigo explorará o que são matrizes associativas em scripts de shell e como eles podem ser usados ​​no Bash.

Matrizes associativas em scripts de shell

Em Bash, uma matriz associativa é uma coleção de pares de valor-chave, onde cada chave é única e cada valor pode ser acessado usando sua chave correspondente. Para criar uma matriz associativa no Bash, você precisa usar a seguinte sintaxe:

declarar -a

O comando declara é usado para definir a variável como uma matriz associativa, e a opção -a é usada para especificar que a matriz é associativa. Para adicionar um elemento a uma matriz associativa no Bash, você precisa usar a seguinte sintaxe:

[chave] =

Aqui [Key] é a chave do elemento e é o valor associado à chave, aqui está um exemplo de como criar e adicionar elementos a uma matriz associativa em Bash:

Declare -um carros
carros ["bmw"] = "m5"
carros ["Volvo"] = "x70"
carros ["lexus"] = "lx470"

Aqui, eu criei uma matriz associativa chamada carros com três elementos, cada um contendo o respectivo modelo de carro do fabricante correspondente. Como exemplo de como obter o valor de um elemento em uma matriz associativa em Bash, eis como recuperar a chave de um elemento em uma matriz associativa:

#!BIN/BASH
Declare -um carros
carros ["bmw"] = "m5"
carros ["Volvo"] = "x70"
carros ["lexus"] = "lx470"
eco $ cars ["lexus"]

Aqui, usei a chave Lexus para acessar o valor LX470 associado a ele, abaixo está a saída do respectivo script:

A para loop pode ser usado para iterar repetidamente através de todas as chaves em uma matriz associativa. Aqui está um exemplo em Bash mostrando como fazer isso:

#!BIN/BASH
Declare -um carros
carros ["bmw"] = "m5"
carros ["Volvo"] = "x70"
carros ["lexus"] = "lx470"
Para chave em "$ !carros [@] "
fazer
eco "O modelo de $ key é $ cars [$ key]"
feito

Aqui eu usei o $ !carros [@] sintaxe para obter todas as chaves da matriz associativa e depois usaram um loop for para iterar todas as teclas e imprimir os valores correspondentes:

Conclusão

Matrizes associativas são uma poderosa estrutura de dados que permite armazenar pares de valor-chave em Bash. Você pode criar uma matriz associativa usando a sintaxe declarar -a, adicionar elementos a ele usando a matriz [key] = sintaxe do valor e acessar os elementos usando suas teclas correspondentes. Matrizes associativas podem ser úteis para organizar e manipular dados em seus scripts Bash.