Ich habe ein Shell-Skript, um einige Umgebungsvariablen einzurichten und jedes Programm zu starten, das ich als Argument einsende:
export PATH=$HOME/local/bin:$PATH
export LD_LIBRARY_PATH=$HOME/local/lib:$LD_LIBRARY_PATH
export TESTER="MY TEST VAR"
$@
Wenn ich dies zum bash
Beispiel zum Aufrufen verwende , funktioniert es:
kjfletch@flatbed:~$ envrun.sh bash
kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH
/home/kjfletch/local/lib:
kjfletch@flatbed:~$ echo $TESTER
MY TEST VAR
Wenn ich es verwenden , um einen Terminal zu nennen ( xterm
, aterm
, ...) mein LD_LIBRARY_PATH
bekommt ungesetzt:
kjfletch@flatbed:~$ echo $LD_LIBRARY_PATH
kjfletch@flatbed:~$ echo $TESTER
MY TEST VAR
Warum passiert das? Wie kann ich das aufhalten? (Ich verwende Debian 5.0)
Aktualisieren
Mein Terminal ruft bash nicht als Login auf:
kjfletch@flatbed:~$ echo $0
bash
My LD_LIBRARY_PATH
wird in keiner der Bash-Startdateien angezeigt (außer .bash_history und ~ / .profile ist nicht vorhanden.):
kjfletch@flatbed:~$ grep "LD" ~/.bash*
kjfletch@flatbed:~$ grep "LD" /etc/bash.bashrc
kjfletch@flatbed:~$ grep "LD" /etc/profile