Usar array en Linux Bash
Bash tiene una estructura de array (algunos lenguajes la llaman lista). En este artículo, explicaremos esta estructura. Más adelante, examinaremos los siguientes temas en Bash scripting.
- Declaración de array
- Acceder a valores del array
- Agregar nuevo valor al array
- Eliminar un valor del array
un array es una estructura de datos que contiene datos similares juntos. Cada dato en la array tiene un índice, y el índice del primer elemento es 0
. Podemos acceder a estos datos de forma secuencial con un bucle o individualmente utilizando el índice de datos. También podemos cambiar la array, agregar nuevos valores y eliminar valores existentes.
Usando Array en Bash
Ahora que sabemos qué es un array, podemos examinar su uso en Bash.
Declarar un array
un array se declara encerrando los valores entre paréntesis. Solo hay espacios entre los valores, no hay caracteres como comas. A continuación se muestra un ejemplo de declaración de array.
arr=("black" "white" "red" "blue" "green")
Podemos usar los siguientes métodos para declarar un array de valores enteros.
intArr=(1 2 3 4)
intArr=($(seq 1 4))
intArr=({1..4})
Estos ejemplos declaran un array que contiene los números 1 a 4
.
Acceder a un array
Hay muchas formas diferentes de acceder a los datos en un array. Por ejemplo, podemos imprimir la array completa, acceder a un solo elemento usando el índice o acceder a cada elemento a su vez con un bucle. Vamos a explicar cada método uno por uno.
Acceda a todal array
Podemos usar los comandos [*]
o [@]
para acceder a todos los valores que contiene un array. Por ejemplo, usemos estos comandos para imprimir todos los valores en la array arr
que definimos anteriormente.
arr=("black" "white" "red" "blue" "green")
echo "With *: ${arr[*]}"
echo "With @: ${arr[@]}"
Acceder a un elemento con índice
El índice del primer elemento del array es 0
, y los índices de los siguientes elementos aumentan secuencialmente. Podemos acceder al elemento por el número de índice del elemento en la array. Por ejemplo, usamos el código Bash a continuación para obtener el valor red
en la array arr
.
arr=("black" "white" "red" "blue" "green")
echo "${arr[2]}"
Acceder a elementos de array con bucle
Podemos usar el bucle for
para acceder a todos los elementos de un array uno por uno. A continuación se muestra el script Bash que imprimirá cada color en la array arr
en la pantalla.
arr=("black" "white" "red" "blue" "green")
for color in ${arr[@]}; do
echo $color
done
Si queremos acceder a estos valores junto con el número de índice, podemos usar el siguiente código.
arr=("black" "white" "red" "blue" "green")
for i in ${!arr[@]}; do
echo "$i: ${arr[$i]}"
done
El comando ${!arr[@]}
devuelve los índices de todos los valores del array. Luego, se accede al elemento utilizando estos índices.
Agregar nuevo elemento a un array
Para agregar un nuevo elemento al array, podemos asignar un número de índice al nuevo valor o usar el operador +=
.
arr=("black" "white" "red" "blue" "green")
echo "Before adding purple: ${arr[@]}"
arr[5]="purple" # or use arr+=("purple"), exactly same
echo "After adding purple: ${arr[@]}"
Eliminar un elemento de un array
Podemos usar el comando unset
para eliminar cualquier dato del array o incluso eliminar completamente el propio array.
arr=("black" "white" "red" "blue" "green")
echo "Before removing white: ${arr[@]}"
unset arr[1]
echo "After removing white: ${arr[@]}"
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn