Die uitvoer van proxy-on.sh herkonfigureer nie die ouer-shell nie
Kies 'n shell-funksie of 'n gelaaide lêer wanneer 'n proxy-hulpmiddel die huidige shell se omgewing moet verander.
Die script voer http_proxy uit, druk “enabled” en stop. Curl wat daarna vanuit die oorspronklike terminaal begin word, het steeds sy ou omgewing.
Deur die script uit te voer, is 'n kindproses geskep. Export maak 'n waarde beskikbaar aan daardie proses se kinders; dit stuur nie die waarde terug na die ouer-shell nie. Om die export binne bash -c of backticks te plaas, keer nie die verhouding om nie.
Vir 'n interaktiewe skakelaar kan 'n funksie wat in die huidige shell gedefinieer is, die beoogde werk doen:
proxy_on() {
export http_proxy=http://proxy.example.net:8080
export https_proxy="$http_proxy"
}
Vervang die voorbeeld-eindpunt met jou HTTP-diens, of 'n kandidaat uit die HTTP-proxylys vir toegelate publieke versoeke. Roep die funksie nadat sy definisie gelaai is. 'n gelaaide shell-lêer is nog 'n manier om toewysings in die huidige shell eerder as 'n nuwe een uit te voer.
Bestaande GUI-toepassings en ander terminale behou steeds hul eie omgewings. As die hulpmiddel bedoel is om net een proxy-commando te begin, is dit dikwels presies die regte omvang om die verandering in daardie commando se omgewing te hou.