Mostrando entradas con la etiqueta indirection. Mostrar todas las entradas
Mostrando entradas con la etiqueta indirection. Mostrar todas las entradas

miércoles, 28 de julio de 2010

Doble indirección de la variable bash

Varias veces me pasó que tengo la siguiente situación: Tengo varias variables, en varios sabores. Supongamos que quiero firmar varias applicaciones, en modo debug y en modo release, y tengo que elegir el archivo de firmas correcto para cada combinación:

PACMAN_RELEASE=cert4821.cer
MARIO_RELEASE=cert3532.cer
PONG_RELEASE=cert3323.cer
PACMAN_DEBUG=cert3546.cer
MARIO_DEBUG=cert5984.cer
PONG_DEBUG=cert3287.cer

Y quiero obtener el valor de una variable dadas sus partes:

getVal() {
app=$1
env=$2

eval RESULT=\${${app}_${env}}
}

Esa función obtiene el valor de la variable cuyas partes están formadas por los valores de las variables app y env.