ढूँढना जहां एक एनवी चर सेट किया गया है


1

http_proxyजब भी मैं एक नया टर्मिनल शुरू करता हूं तो मुझे यह समस्या होती है कि मेरा सेट गलत है:

» echo $http_proxy 
http://http://127.0.0.1:1234/

कौन सा ... बुरा है। मेरे पास मेरे पर्यावरण सेटअप में कहीं बग है। आइए इसे खोजने की कोशिश करते हैं। उसके लिए मैं बहुत शुरुआत में चर का मूल्य दिखाऊंगा .bashrc। मैं एक नया टर्मिनल बनाता हूं , और मेरे लिए गलत मूल्य पहले से ही है:

http_proxy=http://http://127.0.0.1:1234/
» 

ठीक है, इसलिए इनमें से कोई एक सत्य होना चाहिए:

  1. डेस्कटॉप प्रक्रिया (टर्मिनल को शुरू करने वाला) पहले से ही गलत मूल्य का निर्यात कर रहा है,
  2. मान bash पहले .bashrc से पार्स किया गया है

मुझे वर्तमान शेल की मूल प्रक्रिया के वातावरण की जांच करने दें:

» pstree -ahp myuser
...
  ├─gnome-terminal-,3807
     ├─bash,3814
        └─pstree,17329 -ahp myuser

आइए मूल प्रक्रिया के वातावरण की जाँच करें gnome-terminal:

» cat /proc/3807/environ | tr \\0 \\n | grep -i http_proxy

कुछ नहीं, ज़िल्च, नाडा!

किस बारे में bash?

» cat /proc/3814/environ | tr \\0 \\n | grep -i http_proxy
HTTP_PROXY=http://http://127.0.0.1:1234/
http_proxy=http://http://127.0.0.1:1234/

जैसा कि अपेक्षित था, यह वहाँ है (यह करने के बराबर है echo $http_proxy, ज़ाहिर है, या कर रहा है cat /proc/self/environ)

तो, यह अंदर नहीं है gnome-terminal, लेकिन यह अंदर है bash। यह कहीं और लोड करते समय सेट किया जाना चाहिए bash, इससे पहले कि .bashrc । मैंने .profileभी जाँच करने की कोशिश की है, लेकिन कोई किस्मत नहीं।

इससे पहले क्या हो सकता है .bashrc? आपके पास अन्य डीबगिंग विचार क्या हैं?


आप कैसे .bashrc में चर को प्रिंट कर रहे हैं? इसके अलावा man bash: / etc / प्रोफाइल, ~ / .bash_profile, ~ / .bash_login और ~ / .profile में उल्लिखित अन्य स्टार्टअप फ़ाइलों की जाँच करें ।
l0b0

@ l0b0 echo $http_proxyकी शुरुआत में एक सरल .bashrc। आपके द्वारा
उल्लेखित

बस स्पष्ट करने के लिए, आप एक मौजूदा से एक नया शेल शुरू नहीं कर रहे हैं, लेकिन टर्मिनल को बंद कर रहे हैं और एक नया खोल रहे हैं?
l0b0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.