Cómo usar matrices en Bash

Cuando desee utilizar varios datos con una sola variable en cualquier lenguaje de programación, debe utilizar variables de matriz. La lista de datos se puede asignar y utilizar mediante una variable de matriz. Bash es un lenguaje de tipo débil que no requiere definir ningún tipo de datos para declarar variables. 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, se llama matriz numérica y si el índice de una matriz es una cadena, se llama matriz asociativa. En este tutorial se describe cómo se pueden declarar matrices numéricas, matrices asociativas e iterar elementos de matriz utilizando for loop.

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

El índice predeterminado de cualquier matriz es numérico y todos los valores se toman como valor de cadena. Aquí se declara una matriz numérica simple de 5 valores de cadena. El comando echo se usa aquí para imprimir los valores de cada matriz por separado. Si desea imprimir todos los valores de la matriz con un solo comando de eco, entonces el símbolo * ” debe usarse en el índice de la matriz. Estas dos opciones se muestran en el siguiente ejemplo.

#!/bin/bash
MyArray=( HTML Javascript CSS JQuery Bootstrap )
 
# Print 5 values individually
 
echo “———-Print 5 values individually—————“
echo ${MyArray[0]}
echo ${MyArray[1]}
echo ${MyArray[2]}
echo ${MyArray[3]}
echo ${MyArray[4]}
 
#Print all values by using *
echo “—————–Print all values——————-“
echo ${MyArray[*]}

Producción:

Ejemplo 2: Declaración de matriz asociativa:

Cada índice de la matriz debe declararse por separado en una matriz asociativa. En los siguientes ejemplos se declara una matriz asociativa de 4 elementos. Puede leer los valores de cada índice por separado como en el ejemplo anterior definiendo el valor del índice. Puede imprimir solo índices de matriz asociativa usando “!” y el símbolo “@”.

#!/bin/bash
 
# Associative array declaration
declare -A MyArr
 
# Value Initialization
MyArr=( [mark]=79 [john]=93 [ella]=87 [mila]=83 )
 
# Print values
echo ${MyArr[mark]}
echo ${MyArr[john]}
echo ${MyArr[ella]}
echo ${MyArr[mila]}
 
#Print indexes
 
echo ${!MyArr[@]}

Producción:

Ejemplo-3: Lectura de valores de matriz usando el bucle for:

Puede contar fácilmente el número total de elementos de cualquier matriz bash usando el símbolo # ” y “* ” que se muestra en la primera parte del siguiente ejemplo. El bucle for se usa comúnmente para iterar los valores de cualquier matriz. También puede leer valores de matriz e índices de matriz por separado utilizando bucles for. En el siguiente ejemplo se utilizan diferentes bucles for para leer índices de matriz, valores de matriz y ambos.

#!/bin/bash
 
# Associative array declaration
declare -A MyArr
 
# Value Initialization
MyArr=( [os]=Windows [web]=PHP [db]=Oracle )
 
echo “Total number of elements=${#MyArr[*]}
 
echo “Array values are”
 
for value in ${MyArr[@]}
do
echo $value
done
 
echo “Array indexes are”
 
for key in ${!MyArr[@]}
do
echo $key
done
 
echo “Array values and indexes:”
for key in ${!MyArr[*]}
do
echo $key=&gt ${MyArr[$key]}
done

Producción:

Video de esta lección aquí:

Hay muchos usos de la matriz en programación. En este tutorial se muestran algunos usos comunes y muy simples de array en bash. Después de ejercitar los ejemplos anteriores, su concepto básico de la matriz bash se borrará y podrá utilizar la matriz bash de forma adecuada en su script.

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux