Bash Shell Script de acceso a las variables de matriz

El shell bash permite una serie de métodos para acceder a elementos de matrices de variables. Esta receta tecnológica demuestra algunas de estas técnicas.


Tomemos, por ejemplo, la matriz definida por el siguiente código:

nombres = (Jennifer Tonya Anna Sadie Molly Millie)

Se puede acceder a los elementos individuales de la matriz por su índice numérico. (Recuerde que comienzan a contar un cero). Esto se puede ver con lo siguiente:

$ {nombres [0]} -> Jennifer
$ {nombres [3]) -> Sadie

Se puede acceder a todos los elementos al mismo tiempo (lo cual es útil en un bucle for) con lo siguiente:

$ {nombres [@]}
$ {nombres [*]}

El número de elementos en la matriz se puede obtener con lo siguiente:

$ {# nombres [@]} -> 6

Un rango de elementos se puede especificar fácilmente con la siguiente sintaxis:

$ {nombres [@]: 2: 3} -> Anna Sadie Molly
$ {nombres [@]: 3} -> Sadie Molly Millie

El primer ejemplo comienza en el elemento 2 (el tercer elemento) y devuelve los siguientes tres elementos (: 2: 3). El segundo ejemplo comienza en el registro 3 y devuelve todos los registros restantes (: 3).