Tente executar o export
no escopo de uma chamada para eval
:
eval export ENV_${env}=some_param
Isso garante que o shell expanda ENV_${env}
apropriadamente para um dos seus nomes esperados, antes de tentar atribuir a ele.
Você também precisará usar eval
ao tentar recuperar o valor armazenado em sua variável:
eval echo \$ENV_$env
Observe a barra invertida - impede que o shell tente expandir a variável inexistente $ENV_
até que tenha expandido a parte $env
com o eval
incorporado. É o resultado dessa expansão que é passada para echo
, que recebe o nome completo de sua variável dinâmica e a expande para gerar o valor armazenado anteriormente.