Καθαρισμός των μεταβλητών proxy σε Bash και Zsh με μια συνάρτηση unproxy
Διόρθωση ενός βοηθήματος shell που αφαιρεί μόνο το all_proxy αφού ενεργοποιηθούν οι μεταβλητές ανά πρωτόκολλο και το ALL_PROXY με κεφαλαία.
Αυτό το βοήθημα shell έχει έναν ελλιπή διακόπτη απενεργοποίησης:
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'
Σε ένα Unix shell, τα all_proxy και ALL_PROXY είναι διαφορετικά ονόματα. Το alias δεν αφαιρεί καμία από τις τρεις παραπάνω μεταβλητές. Αν αφαιρέσετε μόνο το κεφαλαίο ALL_PROXY, οι δύο ρυθμίσεις ανά πρωτόκολλο θα παραμείνουν.
Για να καθαρίσετε αυτά τα κοινά ονόματα από την τρέχουσα συνεδρία Bash ή Zsh:
unproxy() {
unset http_proxy https_proxy all_proxy
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
}
Καλέστε τη συνάρτηση στο shell του οποίου οι επόμενες εντολές πρέπει να κληρονομήσουν το καθαρισμένο περιβάλλον. Ένα θυγατρικό script δεν μπορεί να καθαρίσει το περιβάλλον του γονικού του τερματικού.
Οι εφαρμογές που εκτελούνται ήδη διατηρούν τη δική τους κατάσταση. Ένα αρχείο ρυθμίσεων curl, μια ρύθμιση Git, μια προτίμηση προγράμματος περιήγησης ή μια ρητή επιλογή εντολής μπορούν επίσης να επιλέξουν proxy αφού αφαιρεθούν οι μεταβλητές. Αν η κίνηση εξακολουθεί να τον χρησιμοποιεί, ελέγξτε τη ρύθμιση αυτού του πελάτη.