miércoles, 5 de diciembre de 2012

Indirecciones en Bash

Escribí un programa en Bash, que itera sobre una lista de nombres, almacenados en una variable. Cada nombre es a su vez una variable, con una serie de valores almacenados. Lo que quiero hacer es recorrer la lista de nombres y acceder al  contenido almacenado en la variable nombrada.

Tenía idea de haber hecho esto antes, un par de consultas a las lista de programacion del UYLUG y en la oficina, me recordaron como se llama esto: "variables de variables".

Un ejemplo para fijar ideas:

var_1="1 2 3 4 5 6"
var_2="lunes martes miercoles"
lista ="var_1 var_2"

for i in lista; do
     echo ${i}
     for j in ${!i} ; do
         echo "  "${j}
     done
done

Usado con cuidado, para no perder claridad en el código, el codigo queda muy compacto.

No hay comentarios:

Publicar un comentario