У меня есть сценарий оболочки для установки некоторых переменных среды и запуска любой программы, которую я посылаю в качестве аргумента:
export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
export TESTER="MY TEST VAR"
$@
Когда я использую это для вызова, bash
например, это работает:
kjfletch@flatbed:~$ envrun.sh bash
kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH
/home/kjfletch/local/lib:
kjfletch@flatbed:~$ echo $TESTER
MY TEST VAR
Когда я использую его для вызова терминала ( xterm
, aterm
, ...) моя LD_LIBRARY_PATH
получает снята с охраны:
kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH
kjfletch@flatbed:~$ echo $TESTER
MY TEST VAR
Почему это происходит? Как я могу это остановить? (Я использую Debian 5.0)
Обновить
Мой терминал не вызывает bash в качестве логина:
kjfletch@flatbed:~$ echo $0
bash
My LD_LIBRARY_PATH
не отображается ни в одном из файлов запуска bash (кроме .bash_history и ~ / .profile не существует.):
kjfletch@flatbed:~$ grep "LD" ~/.bash*
kjfletch@flatbed:~$ grep "LD" /etc/bash.bashrc
kjfletch@flatbed:~$ grep "LD" /etc/profile