Pular para o conteúdo
Insetário do Bash

/static/insetario/inseto/param-indireta/

Menu

BSH-013 · Parâmetros

${!var}

A variável que aponta para outra: expande o nome guardado dentro dela.

Indireção: se casta=rainha e rainha="põe os ovos", então ${!casta} devolve "põe os ovos". O shell lê o nome dentro da variável e expande esse outro nome.

É a peça das tabelas improvisadas, de antes dos arrays associativos. No bash moderno, declare -n cria referências de verdade; no zsh o mesmo gesto se escreve ${(P)var}.

$ rainha="põe os ovos"
$ casta=rainha
$ echo "${!casta}"
põe os ovos
Um nome que carrega outro nome nas costas.