English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Arreglos de Shell

Los arrays pueden contener múltiples valores. Bash Shell solo admite arrays unidimensionales (no admite arrays multidimensionales) y no es necesario definir el tamaño del array al inicializar (al igual que PHP).

Al igual que en la mayoría de los lenguajes de programación, el índice de los elementos del array comienza en 0.

Los arrays de Shell se representan con corchetes y los elementos se separan por "espacios"; el formato de sintaxis es el siguiente:

array_name=(value1 value2 ...valuen)

Ejemplo en línea

#!/bin/bash
# author:基础教程网
# url:es.oldtoolbag.com
my_array=(A B "C" D)

También podemos usar índices para definir un array:

array_name[0]=value0
array_name[1=value1
array_name[2=value2

Leer el array

El formato general para leer el valor de un elemento de array es:

${array_name[index]}

Ejemplo en línea

#!/bin/bash
# author:基础教程网
# url:es.oldtoolbag.com
my_array=(A B "C" D)
echo "El primer elemento es: ${my_array[0]}"
echo "El segundo elemento es: ${my_array[1]"
echo "El tercer elemento es: ${my_array[2]"
echo "El cuarto elemento es: ${my_array[3]"

Ejecutar el script, los resultados de la salida se muestran a continuación:

$ chmod +x test.sh 
$ ./test.sh
El primer elemento es: A
El segundo elemento es: B
El tercer elemento es: C
El cuarto elemento es: D

Obtener todos los elementos del array

Usar @ o * Se pueden obtener todos los elementos del array, por ejemplo:

#!/bin/bash
# author:基础教程网
# url:es.oldtoolbag.com
my_array[0]=A
my_array[1=B
my_array[2=C
my_array[3=D
echo "Los elementos del array son: ${my_array[*]"
echo "Los elementos del array son: ${my_array[@]}"

Ejecutar el script, los resultados de la salida se muestran a continuación:

$ chmod +x test.sh 
$ ./test.sh
Los elementos del array son: A B C D
Los elementos del array son: A B C D

Obtener la longitud del array

La forma de obtener la longitud del array es la misma que la de obtener la longitud de una cadena, por ejemplo:

#!/bin/bash
# author:基础教程网
# url:es.oldtoolbag.com
my_array[0]=A
my_array[1=B
my_array[2=C
my_array[3=D
echo "Número de elementos del array: ${#my_array[*]"
echo "Número de elementos del array: ${#my_array[@]}"

Ejecutar el script, los resultados de la salida se muestran a continuación:

$ chmod +x test.sh 
$ ./test.sh
Número de elementos del array: 4
Número de elementos del array: 4