यह पर्यावरण चर कहां सेट किया गया है?


10

जब भी मैं एक टर्मिनल खोलता हूं तो मेरे पास यह परिवर्तनशील सेट होता है:

$ echo $http_proxy
http://127.0.0.1:8888/

यह चर कहाँ स्थापित किया जा रहा है? मैं देख लिया है .bashrc, .bash_profile, /etc/bash.bashrcऔर /etc/environmentऔर यह कहीं नहीं है ?!

मैंने नेटवर्क सेक्शन में सिस्टम सेटिंग्स को भी देखा है और प्रॉक्सी खाली है।

जवाबों:


17

के लिए bashरन:

PS4='+$BASH_SOURCE> ' BASH_XTRACEFD=7 bash -xl 7> /tmp/mylog

तो उपयोग करें

grep "http_proxy=" /tmp/mylog

इसके लिए खोज करने के लिए।

तुम भी करने के लिए खोज को सीमित कर सकते हैं /homeऔर /etcबेहतर परिणाम के लिए:

$ grep "http_proxy=" /tmp/mylog | grep -e /home -e /etc
++/home/ravexina/.bashrc> http_proxy=http://test:80

जिसका मतलब है कि यह मेरे में सेट किया गया है ~/.bashrc

स्रोत


6

यूनिक्स और लिनक्स साइट पर आपके द्वारा पूछे गए डुप्लिकेट के अनुसार , इस समस्या से निपटने के कुछ तरीके हैं:

  1. envआदेश का उपयोग करें और उस क्रम का निरीक्षण करें जिसमें चर बनाए गए थे, और पूर्ववर्ती और अगले चर का उपयोग करके मोटे तौर पर पता लगाया जा सकता है कि चर कहाँ से आ सकता है।
  2. उन फ़ाइलों को लपेटें जिन्हें आप set -xफ़ाइल की शुरुआत और अंत में कमांड के साथ जांचने का प्रयास करते हैं कि प्रत्येक फ़ाइल क्या करती है; संभावित रूप से वे फाइलें अन्य फाइलों को सोर्स कर रही हैं, और set -xस्पष्ट रूप से यह बताना चाहिए कि सोर्सिंग कहां होती है
  3. कुछ फ़ाइलों के माध्यम से जाने पर विचार करें जो आपके घर के फ़ोल्डर में find -type f -exec grep 'VARIABLE_NAME' {} \;या उसके माध्यम से हो सकती हैं grep -rI 'VARIABLE'। यह समय लेने वाला है, इसलिए यह सबसे अच्छा परिणाम नहीं हो सकता है, लेकिन हे - अगर कोई आसान तरीका नहीं है, तो किसी को मुश्किलों को अलग नहीं करना चाहिए।
  4. चलाएं strace -v -s 10000 -e execve,open,read bashऔर देखें कि क्या पढ़ा जा रहा है और पूर्ववर्ती open()कॉल क्या है । यह 2&>1 > output_trace.txtबाद और शायद पढ़ने के लिए पुनर्निर्देशन के साथ उपयोगी हो सकता है grepस्रोत
  5. आपने .bashrc, .bash_profile, /etc/bash.bashrc और / etc / पर्यावरण का उल्लेख किया। आपको यह भी जांचना होगा:

    • /etc/profile
    • /etc/profile.d/*
    • ~/.profile(केवल अगर आपके पास नहीं है ~/.bash_profile)
    • ~/.bash_login
  6. आर्क विकी के अनुसार , कुछ प्रोग्राम wgetइस वैरिएबल का उपयोग करते हैं। जाँच करें कि क्या आपके पास .wgetrcया /etc/wgetrcफ़ाइल हो सकती है । यह वहाँ स्थापित किया जा सकता है, हालांकि जहाँ यह खट्टा हो जाता है bashवह एक और रहस्य है



0

gnome-terminal स्वयं (अर्थात, यह व्यवहार बाइनरी को हार्डकोड किया गया है) गनोम-वाइड ग्रैस्टिंग मूल्यों के आधार पर इनमें से कुछ चर निर्धारित करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.