Skriptet eksporterer http_proxy, skriver ut “enabled” og avslutter. Curl som startes etterpå fra den opprinnelige terminalen, har fortsatt sitt gamle miljø.

Kjøringen av skriptet opprettet en barneprosess. Export gjør en verdi tilgjengelig for barna til den prosessen; det sender ikke verdien tilbake til foreldre-skallet. Å sette export inne i bash -c eller backticks snur ikke dette forholdet.

For en interaktiv bryter kan en funksjon definert i det gjeldende skallet gjøre den tiltenkte jobben:

proxy_on() {
    export http_proxy=http://proxy.example.net:8080
    export https_proxy="$http_proxy"
}

Erstatt eksempel-endepunktet med HTTP-tjenesten din, eller med en kandidat fra HTTP-proxy-listen for tillatte offentlige forespørsler. Kall funksjonen etter at definisjonen er lastet. En innlastet skallfil er en annen måte å kjøre tildelinger i det gjeldende skallet i stedet for et nytt.

Eksisterende GUI-programmer og andre terminaler beholder fortsatt sine egne miljøer. Hvis hjelperen bare skal starte én proxiet kommando, er det ofte nøyaktig riktig omfang å holde endringen i miljøet til den kommandoen.

Relaterte artikler