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.

Relaterade artiklar