Bash- und Zsh-Proxyvariablen mit einer unproxy-Funktion bereinigen
Einen Shell-Helfer reparieren, der nach dem Setzen protokollspezifischer Variablen und von ALL_PROXY in Großbuchstaben nur all_proxy entfernt.
Dieser Shell-Helfer hat einen unvollständigen Ausschalter:
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 einer Unix-Shell sind all_proxy und ALL_PROXY unterschiedliche Namen. Der Alias entfernt keine der drei obigen Variablen. Wird nur ALL_PROXY in Großbuchstaben entfernt, bleiben die beiden protokollspezifischen Einstellungen bestehen.
Um diese gebräuchlichen Namen aus der aktuellen Bash- oder Zsh-Sitzung zu entfernen:
unproxy() {
unset http_proxy https_proxy all_proxy
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
}
Rufen Sie die Funktion in der Shell auf, deren nachfolgende Befehle die bereinigte Umgebung erben sollen. Ein Kindskript kann die Umgebung seines übergeordneten Terminals nicht bereinigen.
Bereits laufende Anwendungen behalten ihren eigenen Zustand. Eine curl-Konfigurationsdatei, eine Git-Einstellung, eine Browsereinstellung oder eine ausdrückliche Befehlsoption kann ebenfalls einen Proxy auswählen, nachdem die Variablen entfernt wurden. Wenn der Datenverkehr ihn weiterhin nutzt, prüfen Sie die Konfiguration dieses Clients.