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.