मेरे पास कुछ पर्यावरण चर स्थापित करने और एक तर्क के रूप में मेरे द्वारा भेजे जाने वाले कार्यक्रम को लॉन्च करने के लिए एक शेल स्क्रिप्ट है:
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
ऐसा क्यों होता है? मैं इसे कैसे रोक सकता हूँ? (मैं डेबियन 5.0 चला रहा हूं)
अपडेट करें
मेरा टर्मिनल बैश को लॉगिन नहीं कह रहा है:
kjfletch@flatbed:~$ echo $0
bash
मेरा LD_LIBRARY_PATH
कोई भी बैश स्टार्टअप फाइलों में नहीं दिखा है (इसके अलावा .bash_history और ~ / .prof के पास मौजूद नहीं है।):
kjfletch@flatbed:~$ grep "LD" ~/.bash*
kjfletch@flatbed:~$ grep "LD" /etc/bash.bashrc
kjfletch@flatbed:~$ grep "LD" /etc/profile