तुमच्या स्क्रिप्टमध्ये योग्य export https_proxy=... ओळ आहे. तुम्ही ती चालवता, आणि पुढील कमांड अजूनही जुना proxy पाहते. कदाचित स्क्रिप्टने स्वतःच्या प्रक्रियेत निर्दोष काम केले असेल.

स्क्रिप्ट चालवल्याने वेगळा शेल सुरू होतो. तो सुरू केलेल्या कमांडना व्हेरिएबल्स देऊ शकतो, पण बाहेर पडल्यानंतर पालक टर्मिनल शेलचे वातावरण बदलू शकत नाही.

./set-proxy.sh
. ./set-proxy.sh

या वेगळ्या क्रिया आहेत. दुसरी सध्याच्या शेलमध्ये फाइल वाचण्यासाठी शेलचा dot बिल्टइन वापरते. Bash हिला source असेही म्हणते; त्याचा बिल्टइन संदर्भ पहा.

फक्त तुम्ही विश्वास ठेवता त्या फाइलवर source करा, कारण तिच्या सर्व शेल कमांड त्या सध्याच्या संदर्भात चालतात. जर proxy फक्त स्क्रिप्टमधील कमांडसाठी आवश्यक असेल, तर सामान्य चालवणे ही योग्य मर्यादा आहे. एका बाह्य कमांडसाठी कमांडपुरता मर्यादित proxy नियुक्ती सध्याचा शेल बदलणे टाळते.

व्हेरिएबल नियुक्त्या शब्दशः ठेवा. Backtick म्हणजे कमांड प्रतिस्थापन, अवतरण नाही. proxy नियुक्त करणारी ओळ अपघाताने तिचा URL चालवण्याचा प्रयत्न करू नये. सार्वजनिक एंडपॉइंट निवडण्यासाठी असलेल्या मूल्यांसाठी मोफत proxy यादी असे उमेदवार देते ज्यांचे प्रोटोकॉल क्लायंटशी जुळले पाहिजे. शेवटी, प्रत्यक्ष नेटवर्क क्लायंट जी व्हेरिएबल नावे वाचतो ती तपासा; शेलची व्याप्ती दुरुस्त केल्याने असमर्थित व्हेरिएबल प्रभावी होत नाही.

संबंधित लेख