O que é expansão indireta? O que significa $ {! Var *}?
Eu estou lendo "uia @Bash para iniciantes". Diz
Se o primeiro caractere dePARAMETER
é um ponto de exclamação, o Bash usa o valor da variável formada a partir do restante dePARAMETER
como o nome da variável; essa variável é expandida e esse valor é usado no restante da substituição, em vez do valor dePARAMETER
em si. Isso é conhecido como expansão indireta.
O exemplo dado é:
franky ~> echo ${!N*}
NNTPPORT NNTPSERVER NPX_PLUGIN_PATH
Eu não entendo bem aqui:
o valor da variável formada a partir dePARAMETER
Enquanto oPARAMETER
é apenas!N*
, entã
o resto dePARAMETER
é apenasN*
. Como isso pode formar uma variável? O Bash pesquisou todos os comandos possíveis lá?