Matrices asociativas en scripts de shell - bash

Matrices asociativas en scripts de shell - bash

Las matrices asociativas son una estructura de datos esencial en los lenguajes de programación que le permiten almacenar pares de valores clave. Bash, el shell más utilizado en el sistema operativo Linux, también admite matrices asociativas. Este artículo explorará qué matrices asociativas se encuentran en scripts de shell y cómo se pueden usar en Bash.

Matrices asociativas en scripts de shell

En Bash, una matriz asociativa es una colección de pares de valor clave, donde cada clave es única, y se puede acceder a cada valor utilizando su clave correspondiente. Para crear una matriz asociativa en Bash, debe usar la siguiente sintaxis:

declarar -a

El comando Declarar se usa para definir la variable como una matriz asociativa, y la opción -A se usa para especificar que la matriz es asociativa. Para agregar un elemento a una matriz asociativa en Bash, debe usar la siguiente sintaxis:

[clave] =

Aquí [clave] es la clave del elemento, y es el valor asociado con la clave, aquí hay un ejemplo de cómo crear y agregar elementos a una matriz asociativa en Bash:

declarar -A autos
autos ["BMW"] = "M5"
autos ["Volvo"] = "x70"
autos ["Lexus"] = "LX470"

Aquí, he creado una matriz asociativa llamada autos con tres elementos, cada uno que contiene el modelo de automóvil respectivo del fabricante correspondiente. Como ejemplo de cómo obtener el valor de un elemento en una matriz asociativa en BASH, aquí es cómo recuperar la clave de un elemento en una matriz asociativa:

Asociative-arrays-shell-scripts-mash#!basura
declarar -A autos
autos ["BMW"] = "M5"
autos ["Volvo"] = "x70"
autos ["Lexus"] = "LX470"
Echo $ Cars ["Lexus"]

Aquí, he usado la clave LEXUS para acceder al valor LX470 asociado con él, a continuación se encuentra la salida del script respectivo:

A For Loop se puede usar para iterar repetidamente a través de todas las claves en una matriz asociativa. Aquí hay un ejemplo en Bash que muestra cómo hacer esto:

Asociative-arrays-shell-scripts-mash#!basura
declarar -A autos
autos ["BMW"] = "M5"
autos ["Volvo"] = "x70"
autos ["Lexus"] = "LX470"
para la clave en "$ !carros[@]"
hacer
echo "El modelo de $ key es $ cars [$ key]"
hecho

Aquí he usado los $ !Sintaxis de autos [@] para obtener todas las claves en la matriz asociativa y luego usó un bucle for para iterar sobre todas las claves e imprimió los valores correspondientes:

Conclusión

Las matrices asociativas son una poderosa estructura de datos que le permite almacenar pares de valores clave en Bash. Puede crear una matriz asociativa utilizando la sintaxis Declare -A, agregarle elementos utilizando la matriz [clave] = sintaxis de valor y acceder a los elementos usando sus claves correspondientes. Las matrices asociativas pueden ser útiles para organizar y manipular datos en sus scripts bash.