Ich bin beiden http_proxy
und begegnet HTTP_PROXY
. Sind beide Formen gleichwertig? Hat einer von ihnen Vorrang vor dem anderen?
Ich bin beiden http_proxy
und begegnet HTTP_PROXY
. Sind beide Formen gleichwertig? Hat einer von ihnen Vorrang vor dem anderen?
Es gibt keine zentrale Behörde, die Umgebungsvariablen eine offizielle Bedeutung zuweist, bevor Anwendungen sie verwenden können. POSIX definiert die Bedeutung einiger Variablen ( PATH
, TERM
, ...) und listet mehr mehr in einer nicht-normativen Art und Weise , wie im allgemeinen Gebrauch ist, alle von ihnen in Großbuchstaben geschrieben. http_proxy
und Freunde ist keiner von ihnen.
Im Gegensatz zu allen herkömmlichen Umgebungsvariablen, die von vielen Anwendungen verwendet http_proxy
werden https_proxy
, ftp_proxy
und no_proxy
werden normalerweise in Kleinbuchstaben angegeben. Ich kann mich an kein Programm erinnern, das sie nur in Großbuchstaben versteht. Ich kann nicht einmal ein Programm finden, das sie in Großbuchstaben ausprobiert. Viele Programme verwenden nur die Kleinbuchstabenvariante, einschließlich Luchs, Wget, Curl, Perl LWP, Perl WWW :: Search, Python urllib / urllib2 usw. Für diese Variablen ist die richtige Form die Kleinbuchstabenvariante.
Der Name in Kleinbuchstaben stammt mindestens von CERN libwww 2.15 im März 1994 (danke an Stéphane Chazelas für die Lokalisierung). Ich weiß nicht, was die Wahl von Kleinbuchstaben motiviert hat, was schon damals ungewöhnlich gewesen wäre.
Unlike basically all conventional environment variables used by many applications, http_proxy, https_proxy, ftp_proxy and no_proxy are commonly lowercase. I don't recall any program that only understands them in uppercase
-> Ich habe gerade herausgefunden, dass Docker 17.04.0-ce nur NO_PROXY ehrt.HTTPS_PROXY
. Docker verwendet auch die Großbuchstabenvariante.sudo -E apt-add-repository ppa:xxxxx/xxxx
. Ich mussteunset https_proxy
undexport HTTPS_PROXY=http://a.b.c.d:xxxx
Es gibt keinen Standard und je nach Anwendung werden sowohl Groß- als auch Kleinbuchstaben verwendet (siehe auch HTTPS_PROXY, ALL_PROXY, NO_PROXY).
Beispielsweise:
locken
git
Python
urllib.request.getproxies()
unterstützt sowohl Klein- als auch Großbuchstaben.Es wird auch ein Sicherheitsproblem erwähnt:
Einige Anwendungen können
NO_PROXY
Sterne / IP-Bereiche enthalten, andere nicht.So
sollten Sie abgedeckt haben.
quelle
Die Konvention besteht darin, beim Exportieren alle capps-Umgebungsvariablen zu verwenden, sodass Sie beim Schreiben von Shell-Skripten Namen in Kleinbuchstaben verwenden können, ohne sich Gedanken über Namenskollisionen mit anderen Programmen machen zu müssen. Dies ist natürlich nur eine Konvention. Es gibt keine technische Einschränkung für die Beschränkung der Namen von Umgebungsvariablen, sodass in einigen Fällen die Kleinbuchstabenversion verwendet werden kann. Es wird jedoch empfohlen, die Groß- und Kleinschreibung zu beachten, sodass sie möglicherweise unterschiedlich sein können Werte.
quelle
http_proxy
und ihren Geschwistern handelt es sich normalerweise um Kleinbuchstaben.http_proxy
und Freunde ist entgegen einer Konvention in Kleinbuchstaben zu schreiben. Die Verwendung einer AnwendungHTTP_PROXY
wäre ein Fehler, da sie mit dem Rest der Welt nicht kompatibel wäre.WGET - verwendet nur die Proxy-Einstellungen in Kleinbuchstaben!
quelle
Beide
http_proxy
undHTTP_PROXY
sollten auf RHEL- und Ubuntu-basierten Systemen funktionieren.quelle