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