Eu tenho um serviço que é executado na inicialização e, nesse serviço, chama um script bash em segundo plano que exporta algumas variáveis de ambiente. O problema que estou tendo é que essas variáveis de ambiente não estão sendo enviadas para o pai do processo em segundo plano, e assim que meu script é executado, elas desaparecem.
Além disso, após a execução do script, o serviço chama outro script que inicia um aplicativo que eu tenho. Este aplicativo precisa acessar essas variáveis de ambiente.
O sistema RHEL em que eu o executo deve nunca ser logado pelo usuário, ele apenas inicializa e inicia o aplicativo. Eu sei que as variáveis de ambiente para um processo / shell pai não podem realmente ser definidas por um shell de processo em segundo plano filho.
Eu preciso de uma maneira de fazer isso por meio de um script chamado pelo meu serviço (não necessariamente em segundo plano), não adicionando-os no meu serviço (que não funcionou para mim) e não armazenando-os em um /etc/environment
ou .profile
ou algo assim.
No meu serviço, tentei adicionar as variáveis de ambiente (não o que eu quero fazer):
export TEST=192.168.1.1
Eu também tentei isso no meu serviço:
TEST=192.168.1.1
export TEST=${TEST}
Tentei alterar como meu serviço chama o script bash:
/bin/asdf/script &
Eu também tentei fornecer o script para que ele seja executado no mesmo shell (que obtive disso ):
. ./bin/asdf/script
#I'm very confused why this didn't work
Também achei isso interessante, mas não deu certo no meu caso.