Eu tenho um serviço que é executado na inicialização e, nesse serviço, ele 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 de plano de fundo para que assim que meu script é feito em execução, eles sumiram.
Além disso, depois que o script é executado, o serviço chama outro script que inicia um aplicativo que eu tenho. Este aplicativo precisa de acesso a essas variáveis de ambiente.
O sistema RHEL em que o executo nunca deve ser acessado 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 de plano de fundo filho.
Eu preciso de uma maneira de fazer isso através de um script que é 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}
Eu tentei alterar o modo como meu serviço chama o script bash:
/bin/asdf/script &
Eu também tentei fazer o sourcing do script para que ele seja executado no mesmo shell (obtido de this ):
. ./bin/asdf/script
#I'm very confused why this didn't work
Também encontrei este que parecia interessante, mas não deu muito certo no meu caso.