Limpar as variáveis de proxy do Bash e do Zsh com uma função unproxy
Corrija um auxiliar de shell que só remove all_proxy depois de ativar as variáveis específicas de protocolo e ALL_PROXY em maiúsculas.
Este auxiliar de shell tem um interruptor de desligamento incompleto:
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'
Num shell Unix, all_proxy e ALL_PROXY são nomes diferentes. O alias não remove nenhuma das três variáveis acima. Remover apenas ALL_PROXY em maiúsculas ainda deixa as duas configurações específicas de protocolo.
Para limpar estes nomes comuns da sessão atual do Bash ou do Zsh:
unproxy() {
unset http_proxy https_proxy all_proxy
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
}
Chame a função no shell cujos comandos seguintes devem herdar o ambiente limpo. Um script filho não consegue limpar o ambiente do terminal pai.
Aplicações já em execução mantêm o próprio estado. Um ficheiro de configuração do curl, uma definição do Git, uma preferência do navegador ou uma opção explícita do comando também podem escolher um proxy depois de as variáveis serem removidas. Se o tráfego ainda o usar, inspecione a configuração desse cliente.