Cancellare le variabili proxy di Bash e Zsh con una funzione unproxy
Correggi un helper shell che rimuove solo all_proxy dopo aver attivato le variabili specifiche del protocollo e ALL_PROXY in maiuscolo.
Questo helper shell ha un interruttore di spegnimento 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'
In una shell Unix, all_proxy e ALL_PROXY sono nomi diversi. L'alias non rimuove nessuna delle tre variabili qui sopra. Se rimuovi solo ALL_PROXY in maiuscolo, le due impostazioni specifiche del protocollo restano attive.
Per cancellare questi nomi comuni dalla sessione Bash o Zsh corrente:
unproxy() {
unset http_proxy https_proxy all_proxy
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
}
Chiama la funzione nella shell i cui comandi successivi devono ereditare l'ambiente ripulito. Uno script figlio non può ripulire l'ambiente del terminale padre.
Le applicazioni già in esecuzione conservano il proprio stato. Un file di configurazione di curl, un'impostazione di Git, una preferenza del browser o un'opzione esplicita del comando possono comunque selezionare un proxy dopo la rimozione delle variabili. Se il traffico lo usa ancora, controlla la configurazione di quel client.