Duda de Bash; Referencia indirecta a arreglos mediante funciones.

Iniciado por astinx, 12 Noviembre 2011, 22:39 PM

0 Miembros y 1 Visitante están viendo este tema.

astinx

Hola, quisiera saber si hay alguna forma de referenciar indirectamente al contenido de un arreglo, supongamos el siguiente escenario:

#!/bin/bash
array=(1 2 3 4 5 6 7)

function e {
        #Y acá es donde quiero hacer referencia indirecta a la variable array usando el contenido de la
        #variable $1 para referenciar al arreglo por ejemplo  como si fuera $$1, claro que esto nos va a
        #devolver cualquier cosa, sin embargo eso es lo que quisiera saber si existe alguna forma
        #de usar el contenido de una variable para referenciar a otra. Todo esto lo hago a modo de juego
        #es que no me parece muy elegante pasarle a la función e ${array[@]}
}

e array


Yo estaba pensando algo como usar pipes y hacer pasar como stdin a '${'$1'[ @ ]}' y pasarlo a otro comando, primero intente pasarselo a bash para que lo ejecutara como una instrucción, pero obviamente no sirvió. Bueno lo estoy haciendo meramente por curioso si a algún conocedor de bash se le ocurre alguna forma bizarra de contribuir a mi bizarra idea, sea bienvenido :P

Desde ya gracias por detenerse a leer :)
La programación hoy en día es una carrera entre los ingenieros de software intentando construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De momento, el Universo está ganando