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 పరిధిని సరిచేయడం మద్దతు లేని వేరియబుల్ను ప్రభావవంతం చేయదు.