Se você tiver var1=foo
e foo=bar
, poderá receber bar
dizendo ${!var1}
. No entanto, se você quiser iterar sobre os parâmetros posicionais, é quase certamente melhor fazer
for i in "$@"; do
# something
done
Eu preciso referenciar indiretamente uma variável no bash
shell.
Eu basicamente quero o que você pode fazer em make
escrevendo $($(var))
.
Eu tentei usar ${$var}
, que seria a solução mais direta em bash
, mas recebo este erro:
bash: ${$var}: bad substitution
Existe uma maneira de fazer isso?
O que eu estou tentando fazer é iterar todos os argumentos ( $1
, $2
, $3
, ...) para um programa usando uma variável de iteração e não posso fazer isso sem indireção.
Usando /bin/bash
:
foo=bar
test=foo
echo ${!test}
# prints -> bar