Effacer les variables de proxy de Bash et Zsh avec une fonction unproxy
Corriger un assistant shell qui ne retire que all_proxy après l'activation des variables propres aux protocoles et de ALL_PROXY en majuscules.
Cet assistant shell possède un interrupteur imparfait :
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'
Dans un shell Unix, all_proxy et ALL_PROXY sont deux noms différents. L'alias ne retire aucune des trois variables ci-dessus. Si vous ne retirez que ALL_PROXY en majuscules, les deux réglages propres aux protocoles restent en place.
Pour effacer ces noms courants de la session Bash ou Zsh actuelle :
unproxy() {
unset http_proxy https_proxy all_proxy
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
}
Appelez la fonction dans le shell dont les commandes suivantes doivent hériter de l'environnement nettoyé. Un script enfant ne peut pas nettoyer l'environnement du terminal parent.
Les applications déjà lancées conservent leur propre état. Un fichier de configuration curl, un réglage Git, une préférence de navigateur ou une option de commande explicite peuvent aussi sélectionner un proxy après la suppression des variables. Si le trafic l'utilise encore, examinez la configuration de ce client.