Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Següent revisió | Revisió prèvia | ||
| linux:bash:indirectreferences [28/06/2018 16:26] – creat mate | linux:bash:indirectreferences [28/11/2018 09:46] (actual) – [asignación a variable referenciada indirectamente] mate | ||
|---|---|---|---|
| Línia 1: | Línia 1: | ||
| = Referencias indirectas | = Referencias indirectas | ||
| - | (indirect references) | + | == indirection, |
| + | usar el valor de una variable para acceder al contenido de otra | ||
| + | <code bash> | ||
| + | # declaramos 2 variables | ||
| + | export xyzzy=plugh ; export plugh=cave | ||
| + | echo ${xyzzy} | ||
| + | |||
| + | echo ${!xyzzy} # indirection, | ||
| + | </ | ||
| + | |||
| + | existen 2 casos en el que este comportamiento se ve modificado: | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | <code bash> | ||
| + | export myVar=" | ||
| + | echo ${!my*} # myVar | ||
| + | |||
| + | export ${!my*}=" | ||
| + | echo $myVar # bye | ||
| + | </ | ||
| + | |||
| + | /vía: [[https:// | ||
| + | |||
| + | == asignación a variable referenciada indirectamente | ||
| + | <code bash> | ||
| + | #!/bin/bash | ||
| + | |||
| + | AQUI_VALOR=" | ||
| + | VARIABLE=AQUI_VALOR | ||
| + | |||
| + | read -p " | ||
| + | echo ${VALOR} | ||
| + | |||
| + | declare " | ||
| + | # typeset equivalente a declare, soportado por otros shells (zsh) | ||
| + | # printf -v " | ||
| + | |||
| + | echo $AQUI_VALOR | ||
| + | echo " | ||
| + | echo $VARIABLE | ||
| + | </ | ||
| + | |||
| + | /via: [[https:// | ||
| + | == + info | ||
| * [[http:// | * [[http:// | ||
| * [[https:// | * [[https:// | ||
| * en arrays: [[https:// | * en arrays: [[https:// | ||