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.
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 “@”.
# 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.
# 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=> ${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.