Ho uno script di shell per impostare alcune variabili di ambiente e avviare qualsiasi programma che invio come argomento:
export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
export TESTER="MY TEST VAR"
$@
Quando uso questo per chiamare bash
ad esempio funziona:
kjfletch@flatbed:~$ envrun.sh bash
kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH
/home/kjfletch/local/lib:
kjfletch@flatbed:~$ echo $TESTER
MY TEST VAR
Quando lo uso per chiamare un terminale ( xterm
, aterm
, ...) il mio LD_LIBRARY_PATH
ottiene non impostato:
kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH
kjfletch@flatbed:~$ echo $TESTER
MY TEST VAR
Perché succede? Come posso fermarlo? (Sto eseguendo Debian 5.0)
Aggiornare
Il mio terminale non chiama bash come login:
kjfletch@flatbed:~$ echo $0
bash
My LD_LIBRARY_PATH
non compare in nessuno dei file di avvio di bash (a parte .bash_history e ~ / .profile non esistono.):
kjfletch@flatbed:~$ grep "LD" ~/.bash*
kjfletch@flatbed:~$ grep "LD" /etc/bash.bashrc
kjfletch@flatbed:~$ grep "LD" /etc/profile