Aquesta és una revisió antiga del document
Referencias indirectas
indirection, indirect references
usar el valor de una variable para acceder al contenido de otra
# declaramos 2 variables export xyzzy=plugh ; export plugh=cave echo ${xyzzy} # normal, xyzzy to plugh -> plugh echo ${!xyzzy} # indirection, xyzzy to plugh to cave -> cave
existen 2 casos en el que este comportamiento se ve modificado:
${!N*}: muestra las variables que empiecen por N${!name[@]}
export myVar="hi" echo ${!my*} # myVar export ${!my*}="bye" echo $myVar # bye
/vía: https://stackoverflow.com/questions/8515411/what-is-indirect-expansion-what-does-var-mean
asignación a variable referenciada indirectamente
#!/bin/bash AQUI_VALOR="GHJGHJGHJ" VARIABLE=AQUI_VALOR read -p "Valor: " VALOR #read -p "Valor: " ${!VARIABLE} echo ${VALOR} declare "${VARIABLE}=$VALOR" echo $AQUI_VALOR # $VALOR echo "==" echo $VARIABLE # $VARIABLE
/via: https://stackoverflow.com/questions/9938649/indirect-variable-assignment-in-bash