Guolas...
Vereis, para acortar mis scripts y aumentar la elegancia, estoy intentando modificar largas secuencias de case's por array's más sustituciones de variables...
Por ejemplo, suponiendo que recibo como parámetro a mi sh un determinado producto alimenticio, por ejemplo jabón xD
./my_sh jabon
Para hacer un echo del valor que tiene la variable jabon en mi sh escribo:
echo "$producto= $[$1]"
Y funciona, mola mogollón hacer uso de esta indireción y que una variable contenga el nombre de la verdadera variable, pero, yo lo que quiero es rizar el rizo para que funcioneesto:
./my_sh jabon valor_del_jabon
Usease, conseguir mediante inderección modificar el valor de un variable...
He intentado con:
temp=$1
shift
$temp=$1
Con set $temp=$1, y multitud de cosas así... pero no consigo que esto:
echo "$producto= "$[$producto]""
De como resultado: jabon= 4000 (por ejemplo)
¿ Se puede conseguir lo que intento perpetar ? ¿ Hace falta que esté declarada antes la variable ?
No sé que se me escapa pero me parece posible... Una vez solucionado esto, lo conectaría a un array y joé, reduciría un motón algunos de mis shell scripts...
Saludo++
PD: Vale, conseguido x'D, se me ocurrió que siendo una cosa tan oligofrénica al bash le daría por quejarse, un:
typeset -i $producto=$cantidad
Y ahora el bash se lo traga con papas