Rensa Bash- och Zsh-proxyvariabler med en unproxy-funktion
Rätta en shell-hjälpare som bara tar bort all_proxy efter att protokollspecifika variabler och stora ALL_PROXY har slagits på.
Den här shell-hjälparen har en ofullständig avstängning:
export http_proxy=http://127.0.0.1:1087
export https_proxy=http://127.0.0.1:1087
export ALL_PROXY=socks5://127.0.0.1:1080
alias unproxy='unset all_proxy'
I ett Unix-skal är all_proxy och ALL_PROXY olika namn. Aliaset tar inte bort någon av de tre variablerna ovan. Tar du bara bort ALL_PROXY med stora bokstäver finns de två protokollspecifika inställningarna kvar.
För att rensa dessa vanliga namn från den aktuella Bash- eller Zsh-sessionen:
unproxy() {
unset http_proxy https_proxy all_proxy
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
}
Anropa funktionen i det skal vars efterföljande kommandon ska ärva den rena miljön. Ett barnskript kan inte rensa sin föräldraterminals miljö.
Program som redan körs behåller sitt eget tillstånd. En curl-konfigurationsfil, en Git-inställning, en webbläsarinställning eller ett uttryckligt kommandoval kan också välja en proxy efter att variablerna tagits bort. Om trafiken fortfarande använder den, granska den klientens konfiguration.