Cómo usar matrices en Bash

Cómo usar matrices en Bash
Cuando desea usar múltiples datos utilizando una sola variable en cualquier lenguaje de programación, debe usar variables de matriz. La lista de datos se puede asignar y utilizar utilizando una variable de matriz. Bash es un lenguaje débilmente escrito que no requiere definir ningún tipo de datos para declarar la variable. La declaración de matriz en Bash es un poco diferente de otros lenguajes de programación estándar. Se pueden declarar dos tipos de matriz en Bash. Matriz numérica y matriz asociativa. Si el índice de una matriz es numérico, entonces se llama una matriz numérica, y si el índice de una matriz es una cadena, se llama una matriz asociativa. Cómo puede declarar una matriz numérica, una matriz asociativa e elementos iterarios de la matriz usando para bucle se describen con ejemplos en este tutorial.

Ejemplo-1: Declaración de matriz numérica:

El índice predeterminado de una matriz es numérico, y todos los valores se toman como un valor de cadena. Aquí se declara una matriz numérica simple de 5 valores de cadena. El eco El comando se usa aquí para imprimir cada valores de matriz por separado. Si desea imprimir todos los valores de la matriz por eco Comando, entonces el símbolo "*" debe usarse en el índice de la matriz. Cree un archivo bash con el siguiente script que muestra dos formas de declarar una matriz en el script bash.

#!/bin/bash
MyArray = (html javascript css jQuery bootstrap)
# Imprimir 5 valores individualmente
echo "---------- Imprima 5 valores individualmente ---------------"
echo $ myArray [0]
echo $ myArray [1]
echo $ myArray [2]
echo $ myArray [3]
echo $ myArray [4]
#Print todos los valores usando *
echo "----------------- Imprima todos los valores -------------------"
echo $ myArray [*]

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-2: Declaración de matriz asociativa:

Cada índice de la matriz debe declararse por separado en la matriz asociativa. Cree un archivo bash con el siguiente script para conocer el uso de una matriz asociativa en Bash. Una matriz asociativa de 4 elementos se declara en los siguientes ejemplos. Los valores de la matriz se pueden imprimir utilizando cada índice por separado, como el ejemplo anterior. Solo los índices de la matriz asociativa se pueden imprimir utilizando el "!"Y"@"símbolos.

#!/bin/bash
# Declaración de matriz asociativa
declarar -a myarr
# Inicialización de valor
Myarr = ([Mark] = 79 [John] = 93 [Ella] = 87 [Mila] = 83)
# Valores de impresión
echo $ myarr [mark]
echo $ myarr [John]
echo $ myarr [Ella]
echo $ myarr [mila]
#Índices de huella
Echo $ !Myarr [@]

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-3: Lectura de valores de matriz usando para bucle:

El número total de elementos de cualquier matriz de bash se puede contar utilizando el "#" y "*" símbolos que se muestran en la primera parte del siguiente ejemplo. Cree un archivo bash con el siguiente script para saber la forma de leer los valores de la matriz utilizando el bucle. Para El bucle se usa comúnmente para iterar los valores de una matriz. También puede leer los valores de matriz e índices de matriz por separado usando para bucle. Se utilizan diferentes bucles en el siguiente ejemplo para leer índices de matriz, valores de matriz y ambos.

#!/bin/bash
# Declaración de matriz asociativa
declarar -a myarr
# Inicialización de valor
Myarr = ([OS] = Windows [Web] = Php [DB] = Oracle)
echo "Número total de elementos = $ #myarr [*]"
echo "Los valores de la matriz son"
Para el valor en $ myarr [@]
hacer
Echo $ valor
hecho
Echo "Los índices de matriz son"
para la llave en $ !Myarr [@]
hacer
Echo $ Key
hecho
echo "Valores e índices de matriz:"
para la llave en $ !Myarr [*]
hacer
echo "$ key => $ myarr [$ key]"
hecho

Producción:
La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-4: Agregar elemento a la matriz

El nuevo elemento se puede agregar a una matriz de diferentes maneras. La forma de agregar uno o más elementos utilizando el operador de taquigrafía (+=) ha demostrado en este ejemplo. Cree un archivo bash con el siguiente script para saber cómo se puede insertar el nuevo elemento en una matriz.

#!/bin/bash
# Declarar una matriz numérica
declarar -a myarr
# Inicializar la matriz con dos elementos
Myarr = (ubuntu centos)
# Imprimir el número total de elementos
echo "Número total de elementos de la matriz actual = $ #myarr [*]"
# Agregar un elemento
Myarr+= (Fedora)
# Imprimir el número total de elementos después de agregar un elemento
echo "Número total de elementos después de agregar un elemento = $ #myarr [*]"
# Agregar dos elementos
Myarr+= (Redhat LinuxMint)
# Imprimir el número total de elementos después de agregar dos elementos
echo "Número total de elementos después de agregar dos elementos = $ #myarr [*]"
# Imprimir todos los elementos de la matriz
Echo "Los elementos de matriz son:"
echo "$ myarr [@]"

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-5: eliminar un elemento de la matriz

El 'desacio'El comando se usa para eliminar uno o todos los elementos de la matriz. Cree un archivo bash con el siguiente script para saber cómo eliminar todos y todos los elementos de una matriz numérica.

#!/bin/bash
# Declarar una matriz numérica
declarar -a myarr
# Inicializar la matriz con dos elementos
Myarr = (Dell HP Lenavo Acer Asus avita)
# Imprimir el número total de elementos
echo "Número total de elementos de la matriz actual = $ #myarr [*]"
# Imprimir valores de matriz antes de eliminar
echo "Valores de matriz antes de eliminar:"
echo "$ myarr [@]"
# Eliminar cuarto elemento
Unset Myarr [3]
# Imprimir el número total de elementos después de eliminar un elemento
echo "Número total de elementos después de eliminar un elemento = $ #myarr [*]"
# Imprimir valores de matriz después de eliminar
echo "Valores de matriz después de eliminar un elemento:"
echo "$ myarr [@]"
# Eliminar todos los elementos
desastar myarr
# Imprimir valores de matriz después de eliminar todos los elementos
Echo "Valores de matriz después de eliminar todos los elementos:"
echo "$ myarr [@]"

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Ejemplo-6: imprima el valor de cadena de múltiples palabras

El valor de la matriz requiere adjuntar con cotizaciones dobles ("") para agregar el valor de la cadena de múltiples palabras en una matriz. Cree un archivo bash con el siguiente script donde una matriz asociada se ha inicializado con los valores de cadena de múltiples palabras.

#!/bin/bash
# Declarar una matriz asociativa
declarar -a myarr
# Inicializar la matriz con el valor de cadena de varias palabras
Myarr = ([CSE-101] = "Computer Fundamental" [CSE-207] = "Programación Java" [CSE-312] = "Programación web")
# Imprima los valores de matriz de múltiples palabras
echo "Los valores de la matriz son:"
para val en "$ myarr [@]"; hacer
echo $ val
hecho

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior.

Conclusión:

La matriz se usa en la programación para muchos propósitos. En este tutorial se han mostrado algunos usos comunes y muy simples de la matriz en Bash. Después de ejercer los ejemplos anteriores, el concepto básico de matriz de bash se eliminará para los usuarios de bash, y podrán usar la matriz bash apropiadamente en su script.