Estou procurando uma maneira de determinar em um script quais variáveis de ambiente outro script define. O script que define as variáveis de ambiente ( env.sh
) possui várias lógicas para recuperar os valores dessas variáveis, e eu gostaria de determinar se esses valores mudaram de uma versão do repositório para outra (mas não consigo rastrear o conteúdo do arquivo env.sh
only porque ele pode permanecer inalterado, mesmo que as variáveis de ambiente declaradas tenham mudado).
# main.sh
# Call env.sh to calculate a hash over the environment variables it has set (no idea how)
bash ./env.sh
# env.sh
export foo="foo" # could be changed directly in another version
export bar=`cat barversion` # content in `barversion` itself could change, but not env.sh
# ... more could be added, but we don't want to assume knowledge about this in main.sh
Um arquivo que é referenciado por env.sh
which pode mudar, o que faz com que as variáveis de ambiente exportadas mudem, o que deve gerar um hash diferente
# barversion
1.0
O ideal é que a chamada de bash ./env.sh
in main.sh
não polua o escopo da variável de ambiente in main.sh
(na verdade, bash ./env.sh
não precisa ser chamada assim. A linha é apenas um espaço reservado para indicar onde estou com dificuldades).
Qualquer ajuda ou indicação na direção certa seria apreciada.