J'ai rencontré les deux http_proxy
et HTTP_PROXY
. Les deux formes sont-elles équivalentes? L'un d'eux a-t-il priorité sur l'autre?
J'ai rencontré les deux http_proxy
et HTTP_PROXY
. Les deux formes sont-elles équivalentes? L'un d'eux a-t-il priorité sur l'autre?
Il n'y a pas d'autorité centrale qui attribue une signification officielle aux variables d'environnement avant que les applications puissent les utiliser. POSIX définit la signification de certaines variables ( PATH
, TERM
...) et énumère plusieurs autres d'une manière non normative comme dans l' usage commun, tous en majuscules. http_proxy
et les amis n'en font pas partie.
Contrairement à toutes essentiellement variables d'environnement conventionnelles utilisées par de nombreuses applications, http_proxy
, https_proxy
, ftp_proxy
et no_proxy
sont souvent minuscules. Je ne me souviens d'aucun programme qui ne les comprend qu'en majuscules, je ne trouve même pas celui qui les essaie en majuscules. De nombreux programmes utilisent uniquement la variante en minuscule, y compris lynx, wget, curl, perl LWP, perl WWW :: Search, python urllib / urllib2, etc. Donc, pour ces variables, la bonne forme est celle en minuscules.
Le nom en minuscule remonte au moins à la bibliothèque CERN libwww 2.15 en mars 1994 (merci à Stéphane Chazelas de l'avoir localisé). Je ne sais pas ce qui a motivé le choix des minuscules, ce qui aurait été inhabituel à l'époque.
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
-> Pour mémoire, je viens de découvrir que le docker 17.04.0-ce ne rend hommage qu'à NO_PROXY.HTTPS_PROXY
. docker utilise également la variante majuscule.sudo -E apt-add-repository ppa:xxxxx/xxxx
. je devaisunset https_proxy
etexport HTTPS_PROXY=http://a.b.c.d:xxxx
Il n'y a pas de standard et les versions majuscules et minuscules sont utilisées selon l'application (voir également HTTPS_PROXY, ALL_PROXY, NO_PROXY).
Par exemple:
boucle
git
Python
urllib.request.getproxies()
prend en charge les variantes en minuscules et en majuscules.Il mentionne également un problème de sécurité:
Certaines applications permettent
NO_PROXY
de contenir des étoiles / plages ip tandis que d'autres ne le font pas.Alors
devrait vous avoir couvert.
la source
La convention consiste à utiliser toutes les variables d'environnement capps lors de leur exportation, de sorte que lorsque vous écrivez des scripts shell, vous pouvez utiliser des noms de variables en minuscules sans vous soucier des collisions de noms avec d'autres programmes. Bien sûr, il s'agit uniquement d'une convention, il n'y a aucune restriction technique sur la limitation des noms des variables d'environnement, de sorte que la version en minuscules pourrait être utilisée dans certains cas, mais la meilleure pratique est en majuscules, et rappelez-vous qu'elles sont sensibles à la casse afin qu'elles puissent avoir différentes valeurs.
la source
http_proxy
et ses frères et sœurs sont généralement en minuscules.http_proxy
et les amis doit être orthographiée en minuscules, en violation d'une convention. L'utilisation d'une applicationHTTP_PROXY
serait un bug car elle serait incompatible avec le reste du monde.WGET - utilise uniquement les paramètres de proxy minuscules!
la source
Les deux
http_proxy
etHTTP_PROXY
devraient travailler sur RHEL et les systèmes à base de ubuntu.la source