/ / Come impostare le variabili di ambiente globali usando lo script di shell .sh-python, shell, ubuntu, environment-variables

Come impostare variabili di ambiente globali usando lo script di shell .sh-python, shell, ubuntu, environment-variables

Ho un .sh file che localmente imposta alcune variabili d'ambiente nella mia shell source my_env.sh.

#!/bin/sh
echo "Setting up local environment variables"
export MY_URL="http://domain.com"
echo "Done"

Questo imposta solo le variabili per quella sessione. Ciò significa che le mie app Python Celery e Supervisor che vengono eseguite in una sessione diversa non possono accedervi. Capisco di poterli eseguire sotto un utente, ma voglio sapere se su Ubuntu utilizzi lo stesso script di shell sopra se posso impostare le variabili in modo che siano globalmente accessibili a tutte le applicazioni, indipendentemente dagli utenti o dalla sessione?

risposte:

1 per risposta № 1

Secondo Variabili di env di Ubuntu doc il modo migliore sarebbe

Un file adatto per le impostazioni delle variabili di ambiente che riguardano il sistema nel suo complesso (piuttosto che un solo utente particolare) è / etc / environment

Questo presuppone che non ti dispiaccia averli impostati per l'intera macchina.


2 per risposta № 2

esporta le tue variabili in "/ etc / profile".

NOTA: questo lo renderà globale per ogni sessione di shell per qualsiasi utente. Se si desidera impostare questa variabile per ogni sessione per a utente specifico, impostalo in "~ / .profile" di quell'utente.


0 per risposta № 3

Se si utilizza bashrc o zshrc, è possibile generare il file di shell che imposta le variabili di ambiente attraverso le sessioni o carica tutte le variabili di ambiente in ogni sessione.

source location/shell-script-sets-env.sh

Zshrc e bashrc sono disponibili nella tua directory $ HOME. o ~ / .zshrc e ~ / .bashrc. La shell corrente può essere guardata via

echo $SHELL

Dai un'occhiata a impostazione permanentemente per aggiungerlo al profilo.