Wêrom it útfieren fan set-proxy.sh dyn terminal net feroaret
In útfierd skript kin gjin fariabelen werom eksportearje nei syn âlder-shell. Source in fertroud konfiguraasjebestân as de hjoeddeiske shell de ynstellingen hâlde moat.
Dyn skript befettet de krekte export https_proxy=...-rigel. Do fieren it út, en de folgjende opdracht sjocht noch altyd de âlde proxy. It skript hat miskien perfekt wurke binnen syn eigen proses.
It útfieren fan in skript begjint in aparte shell. Dy kin fariabelen trochjaan oan de opdrachten dy't er begjint, mar kin it om-en-by fan 'e âlder-terminal-shell nei it ôfsluten net ferfange.
./set-proxy.sh
. ./set-proxy.sh
Dit binne ferskate bewurkingen. De twadde brûkt it dot-ynboude fan 'e shell om it bestân yn 'e hjoeddeiske shell te lêzen. Bash neamt dat ek source; sjoch de ynboude-referinsje.
Source allinne in bestân datsto fertroust, want al syn shell-opdrachten rinne yn dat hjoeddeiske kontekst. As de proxy allinne nedich is foar opdrachten binnen it skript, is gewoan útfieren de krekte grins. Foar ien eksterne opdracht foarkomt in oan 'e opdracht bûn proxy-tawizing dat de hjoeddeiske shell feroaret.
Hâld fariabele-tawizings letterlik. Backticks betsjutte opdrachtferfanging, net oanhelling. In rigel dy't in proxy tawizet, moat net by ûngelok syn URL besykje út te fieren. Foar wearden dy't in iepenbier einpunt kieze moatte, leveret de list mei fergees proxy's kandidaten waans protokol by de klient passe moat. Kontrolearje ta slot de fariabelenammen dy't de werklike netwurkklient lêst; it reparearjen fan 'e shell-omfang makket in net-stipe fariabele net effektyf.