Saya memiliki skrip shell untuk mengatur beberapa variabel lingkungan dan meluncurkan program apa pun yang saya kirim sebagai argumen:
export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
export TESTER="MY TEST VAR"
$@
Ketika saya menggunakan ini untuk memanggil bash
misalnya itu berfungsi:
kjfletch@flatbed:~$ envrun.sh bash
kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH
/home/kjfletch/local/lib:
kjfletch@flatbed:~$ echo $TESTER
MY TEST VAR
Ketika saya menggunakannya untuk memanggil terminal ( xterm
, aterm
, ...) saya LD_LIBRARY_PATH
mendapat unset:
kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH
kjfletch@flatbed:~$ echo $TESTER
MY TEST VAR
Mengapa ini terjadi? Bagaimana saya bisa menghentikan ini? (Saya menjalankan Debian 5.0)
Memperbarui
Terminal saya tidak memanggil bash sebagai login:
kjfletch@flatbed:~$ echo $0
bash
My LD_LIBRARY_PATH
tidak muncul di salah satu file startup bash (selain dari .bash_history dan ~ / .profile tidak ada.):
kjfletch@flatbed:~$ grep "LD" ~/.bash*
kjfletch@flatbed:~$ grep "LD" /etc/bash.bashrc
kjfletch@flatbed:~$ grep "LD" /etc/profile