¿Qué es la expansión indirecta? ¿Qué significa $ {! Var *}?
Estoy leyendo "Bash Guide for Beginners". Dice
Si el primer personaje dePARAMETER
es un signo de exclamación, Bash usa el valor de la variable formada a partir del resto dePARAMETER
como el nombre de la variable; esta variable se expande y ese valor se usa en el resto de la sustitución, en lugar del valor dePARAMETER
sí mismo. Esto se conoce como expansión indirecta.
El ejemplo dado es:
franky ~> echo ${!N*}
NNTPPORT NNTPSERVER NPX_PLUGIN_PATH
No entiendo bien aquí:
el valor de la variable formada a partir del resto dePARAMETER
As thePARAMETER
es solo!N*
, lueg
el resto dePARAMETER
es soloN*
. ¿Cómo podría esto formar una variable? ¿Bash buscó todos los comandos posibles allí?