Ho un servizio che gira all'avvio e in quel servizio chiama in background uno script bash che esporta alcune variabili d'ambiente. Il problema che sto riscontrando è che quelle variabili di ambiente non vengono inviate al genitore del processo in background, quindi non appena l'esecuzione del mio script viene eseguita, scompaiono.
Inoltre, dopo l'esecuzione dello script, il servizio chiama un altro script che avvia un'applicazione che ho. Questa applicazione richiede l'accesso a tali variabili di ambiente.
Il sistema RHEL su cui lo eseguo non deve mai essere registrato dall'utente, si avvia e avvia l'applicazione. So che le variabili di ambiente per un processo genitore / shell non possono davvero essere impostate da un background bambino shell processo però.
Ho bisogno di un modo per farlo attraverso uno script che viene chiamato dal mio servizio (non necessariamente in background però), non aggiungendoli al mio servizio (che non ha funzionato neanche per me) e non memorizzandoli in un /etc/environment
o .profile
o qualcosa del genere.
Nel mio servizio ho provato ad aggiungere le variabili d'ambiente (non quello che voglio fare però):
export TEST=192.168.1.1
Ho anche provato questo nel mio servizio:
TEST=192.168.1.1
export TEST=${TEST}
Ho provato a cambiare il modo in cui il mio servizio chiama lo script bash:
/bin/asdf/script &
Ho anche provato a reperire lo script in modo che venga eseguito nella stessa shell (che ho ottenuto da questo ):
. ./bin/asdf/script
#I'm very confused why this didn't work
Ho anche trovato questo che sembrava interessante ma nel mio caso non ha funzionato.