तपाईंको स्क्रिप्टमा सही export https_proxy=... लाइन छ। तपाईं यसलाई चलाउनुहुन्छ, अनि अर्को कमान्डले अझै पुरानो proxy देख्छ। हुनसक्छ स्क्रिप्टले आफ्नै प्रक्रियाभित्र राम्ररी काम गरेको थियो।

स्क्रिप्ट चलाउँदा छुट्टै शेल सुरु हुन्छ। त्यसले आफूले सुरु गरेका कमान्डहरूलाई भेरिएबल दिन सक्छ, तर बाहिरिएपछि अभिभावक टर्मिनल शेलको वातावरण बदल्न सक्दैन।

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

यी फरक कार्यहरू हुन्। दोस्रोले हालको शेलमा फाइल पढ्न शेलको dot बिल्टइन प्रयोग गर्छ। Bash ले यसलाई source पनि भन्छ; यसको बिल्टइन सन्दर्भ हेर्नुहोस्।

तपाईंले विश्वास गर्ने फाइललाई मात्र source गर्नुहोस्, किनकि त्यसका सबै शेल कमान्डहरू त्यही हालको सन्दर्भमा चल्छन्। यदि proxy स्क्रिप्टभित्रका कमान्डहरूका लागि मात्र चाहिन्छ भने सामान्य रूपमा चलाउनु नै सही सीमा हो। एउटा बाह्य कमान्डका लागि कमान्डसम्म सीमित proxy असाइनमेन्ट ले हालको शेल बदल्नबाट बचाउँछ।

भेरिएबल असाइनमेन्टहरू शब्दशः राख्नुहोस्। Backtick भन्नाले कमान्ड प्रतिस्थापन हो, उद्धरण होइन। proxy असाइन गर्ने लाइनले गल्तीले आफ्नो URL चलाउन खोज्नु हुँदैन। सार्वजनिक अन्त्य बिन्दु छान्न लक्षित मानहरूका लागि निःशुल्क proxy सूची ले प्रोटोकल क्लाइन्टसँग मिल्नुपर्ने उम्मेदवारहरू दिन्छ। अन्तमा, वास्तविक नेटवर्क क्लाइन्टले पढ्ने भेरिएबल नामहरू जाँच्नुहोस्; शेलको दायरा सुधार गर्दा असमर्थित भेरिएबल प्रभावकारी हुँदैन।

सम्बन्धित लेखहरू