Como eu defino uma variável de ambiente no momento da inicialização (por meio de um script)?

4

Gostaria de definir algumas variáveis de ambiente (no momento da inicialização) em uma máquina Ubuntu (10.04), mas quero criar seu valor por meio de um script, da mesma forma:

export THE_ENV_VAR=$(script_to_execute_and_use_stdout_from)
  • O motivo pelo qual quero fazer isso é que os comandos usados para definir as variáveis de ambiente levam muito tempo para serem executados (10s ou mais), e é por isso que eu só quero fazer isso uma vez após a inicialização. De qualquer forma, atualmente eu resolvi isso colocando o resultado do comando em cache no momento da inicialização, para que as chamadas subseqüentes fossem rápidas, não usando env. variáveis em tudo.

Eu tentei definir em /etc/environment , mas isso só copia rhs verbatim

Eu tentei executar um script em /etc/init.d/ na inicialização, mas isso parece não funcionar.

Idéias?

    
por Robert 12.10.2011 / 22:52

3 respostas

3

Coloque em ~/.bash_profile ou ~/.bashrc

gedit ~/.bashrc

Use .bash_profile se você precisar usar essas variáveis com shells não-interativos (scripts) e ~ / .bashrc se você estiver configurando suas variáveis em um shell.

Se isso não funcionar, precisamos de mais detalhes, em particular, quais variáveis você está configurando e com que finalidade?

    
por Panther 25.02.2012 / 02:45
0

Para definir variáveis ambientais de todo o sistema que estão disponíveis na inicialização, coloque-as em /etc/environment . Este arquivo não é um arquivo de script, mas consiste em expressões de atribuição, uma por linha. Assim:

SYSTEM_FOO=barnone

Nota : a expansão de variáveis não funciona em / etc / environment.

Informações originais de help.ubuntu.com

    
por frederickjh 14.11.2017 / 23:20
-1

Coloque seus comandos em /etc/rc.local . Certifique-se de ler os comentários na cabeça.

    
por aquaherd 13.10.2011 / 01:33