Una matriz es una colección de elementos. En Bash, una matriz puede contener una combinación de elementos de diferentes tipos, p. Cadenas y Números.
En este tutorial, discutimos cómo crear y usar arreglos en Bash. También cubriremos operaciones de matriz como bucles, impresión, obtener el tamaño y modificar los contenidos.
Cómo crear matrices en Bash
Hay dos formas en que podemos crear arreglos Bash:
Uso de la palabra clave declare
declare -a my_bash_array
esto creará una matriz indexada con el nombre "my_bash_array".
Inicializar una matriz
También podemos crear e inicializar arreglos sobre la marcha usando el operador de asignación =
y los elementos dentro de llaves ()
:
my_bash_array=("apple" "orange" "banana")
O también podríamos especificar el índice explícitamente
my_bash_array[0]="apple"
my_bash_array[1]="orange"
my_bash_array[2]="banana"
Nota:No debe haber espacios a ambos lados de = operador. Longitud de matriz Bash
Para obtener la longitud o el tamaño de una matriz, usamos ${#array_name[@]}
.
Por ejemplo:
my_bash_array=(foo bar baz)
echo "the array contains ${#my_bash_array[@]} elements"
#Output
the array contains 3 elements
Bash Array Bucle
Para iterar a través de todos los elementos en una matriz Bash, podemos usar el bucle for:
#!/bin/bash
my_array=(foo bar baz)
# for loop that iterates over each element
for i in "${my_array[@]}"
do
echo $i
done
Salida:
foo
bar
baz
Imprimiendo todos los elementos
Para imprimir todos los elementos de una matriz sin un bucle, podemos usar la siguiente sintaxis:
echo ${my_array[@]}
Agregar elementos a la matriz
Para agregar elementos a una matriz usamos el +=
operador. Esto agregará un elemento al final de la matriz.
Por ejemplo:
my_array=(foo bar)
my_array+=(baz)
echo "${my_array[@]}"
foo bar baz
O podemos usar el índice para agregar un elemento:
my_array=(foo bar)
my_array[2]=baz
echo "${my_array[@]}"
foo bar baz
Eliminar elementos de la matriz
Para eliminar un elemento de una matriz Bash, usamos el unset
comando.
Por ejemplo:
my_array=(foo bar baz)
unset my_array[1]
echo ${my_array[@]}
foo baz
Conclusión
En este tutorial cubrimos arreglos Bash; cómo crear e inicializar arreglos en Bash y cómo obtener la longitud, recorrer elementos, imprimir elementos y modificar el contenido de un arreglo.