set-proxy.sh ચલાવવાથી તમારું ટર્મિનલ કેમ બદલાતું નથી
ચલાવેલી સ્ક્રિપ્ટ તેના પિતૃ shell માં ચલ પાછા નિકાસ કરી શકતી નથી. વર્તમાન shell એ સેટિંગ્સ રાખવાની હોય ત્યારે વિશ્વસનીય કન્ફિગ ફાઇલ source કરો.
તમારી સ્ક્રિપ્ટમાં સાચી export https_proxy=... લાઇન છે. તમે તેને ચલાવો છો, અને પછીનો આદેશ હજી પણ જૂનું proxy જુએ છે. કદાચ સ્ક્રિપ્ટ તેની પોતાની પ્રક્રિયામાં સંપૂર્ણ રીતે કામ કરી હશે.
સ્ક્રિપ્ટ ચલાવવાથી અલગ shell શરૂ થાય છે. તે શરૂ કરેલા આદેશોને ચલ આપી શકે છે, પણ બહાર નીકળ્યા પછી મૂળ ટર્મિનલ shellનું પર્યાવરણ બદલી શકતું નથી.
./set-proxy.sh
. ./set-proxy.sh
આ જુદી ક્રિયાઓ છે. બીજી વર્તમાન shellમાં ફાઇલ વાંચવા shellના dot બિલ્ટઇનનો ઉપયોગ કરે છે. Bash તેને source પણ કહે છે; તેનો બિલ્ટઇન સંદર્ભ જુઓ.
ફક્ત એવી ફાઇલને source કરો જેના પર તમને ભરોસો હોય, કારણ કે તેના બધા shell આદેશો તે જ વર્તમાન સંદર્ભમાં ચાલે છે. જો proxy ફક્ત સ્ક્રિપ્ટની અંદરના આદેશો માટે જ જોઈએ, તો સામાન્ય રીતે ચલાવવું સાચી સીમા છે. એક બાહ્ય આદેશ માટે આદેશ-મર્યાદિત proxy સોંપણી વર્તમાન shell બદલવાનું ટાળે છે.
ચલ સોંપણીઓ શબ્દશઃ રાખો. Backtick એટલે આદેશ અવેજી, અવતરણ નહીં. proxy સોંપતી લાઇન કદી અકસ્માતે તેનું URL ચલાવવાનો પ્રયત્ન ન કરે. જાહેર એન્ડપોઇન્ટ પસંદ કરવા માટેના મૂલ્યો માટે મફત proxyની યાદી એવા ઉમેદવારો આપે છે જેમનું પ્રોટોકોલ ક્લાયન્ટ સાથે મેળ ખાવું જોઈએ. અંતે, વાસ્તવિક નેટવર્ક ક્લાયન્ટ જે ચલ નામો વાંચે છે તે ચકાસો; shellનો વ્યાપ સુધારવાથી અસમર્થિત ચલ અસરકારક બનતું નથી.