Arrays asociativos en bash

Como todos sabréis, bash tiene su propio lenguaje de programación con un intérprete debajo que permite ejecutar pequeños scripts o programas de mayor o menor complejidad y emplearlo así como un verdadero lenguaje de programación. bash está 100% integrado en el núcleo del sistema GNU/Linux por lo que permite una perfecta integración con todo el sistema.
Una de las cosas que descubrí recientemente programando scripts fue la forma de emplear arrays asociativos, así que la voy a compartir.
#!/bin/bash
declare -A array

#Array asociativo de pareja (clave, valor).
array[192.168.1.1]="host1"
array[192.168.1.2]="host2"
array[192.168.1.3]="host3"
array[192.168.1.4]="host4"

echo "Para la IP $1, le corresponde el equipo ${array[$1]}"
Tras esto, al ejecutarlo obtenemos la siguiente salida,
shell> array.bash 192.168.1.2
Para la IP 192.168.1.2, le corresponde el equipo host2
Y también podemos conseguir que se nos imprimar todas las parejas, clave-valor que hay,
#!/bin/bash
declare -A array

array[192.168.1.1]="host1"
array[192.168.1.2]="host2"
array[192.168.1.3]="host3"
array[192.168.1.4]="host4"

for hostname in "${array[@]}"
do
   echo $hostname
done


2 comentarios :

  1. Excelente aporte. Ignoraba que se pudiesen usar este tipo de índices.
    Disponible a partir de la versión 4 de BASH.

    ResponderEliminar

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios