Definindo variáveis de ambiente permanentemente sob sistemas GNU-Linux

2

Eu estava usando o comando export, mas parece que depois de algum tempo as variáveis set desaparecem. Qual é a maneira mais fácil de definir uma variável de ambiente para sempre?

Obrigado

    
por NeDark 25.08.2011 / 23:34

2 respostas

4

As variáveis de exportação no .profile ou .bash_profile estão disponíveis quando você inicia apenas um terminal e não é visível para aplicativos iniciados fora do terminal. Use o / etc / environment para disponibilizar as variáveis para todas as aplicações fora do terminal.

    
por 26.08.2011 / 03:58
2

De acordo com a versão do Linux, e assumindo que o bash shell padrão é usado, o usuário em questão terá um arquivo .profile ou .bash_profile em sua pasta pessoal (é o último no Ubuntu). Você pode usar seu editor favorito para adicionar a definição da variável - por exemplo:

Antes:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin

export PATH

Depois:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin
MYVARIABLE=THISVALUE

export PATH MYVARIABLE

O comando export envia a variável para o ambiente filho para que fique disponível para outros scripts e processos. Você não precisa empilhar os nomes das variáveis por trás de um único comando de exportação, você também pode fazer toda a definição e exportar de uma só vez, por exemplo:

export MYVARIABLE=THISVALUE

Variáveis globais para todos podem ser definidas de maneira semelhante em / etc / profile

    
por 25.08.2011 / 23:46