Eu tenho um script de shell para configurar algumas variáveis de ambiente e iniciar qualquer programa que eu enviar como argumento:
export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
export TESTER="MY TEST VAR"
$@
Quando eu uso isso para chamar, bash
por exemplo, ele funciona:
kjfletch@flatbed:~$ envrun.sh bash
kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH
/home/kjfletch/local/lib:
kjfletch@flatbed:~$ echo $TESTER
MY TEST VAR
Quando eu usá-lo para chamar um terminal ( xterm
, aterm
...) a minha LD_LIBRARY_PATH
fica desactivado:
kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH
kjfletch@flatbed:~$ echo $TESTER
MY TEST VAR
Por que isso acontece? Como posso parar com isso? (Estou executando o Debian 5.0)
Atualizar
Meu terminal não está chamando o bash como um login:
kjfletch@flatbed:~$ echo $0
bash
Meu LD_LIBRARY_PATH
não aparece em nenhum dos arquivos de inicialização do bash (exceto .bash_history e ~ / .profile não existe.):
kjfletch@flatbed:~$ grep "LD" ~/.bash*
kjfletch@flatbed:~$ grep "LD" /etc/bash.bashrc
kjfletch@flatbed:~$ grep "LD" /etc/profile