Eu encontrei ambos http_proxy
e HTTP_PROXY
. Ambas as formas são equivalentes? Um deles tem precedência sobre o outro?
Eu encontrei ambos http_proxy
e HTTP_PROXY
. Ambas as formas são equivalentes? Um deles tem precedência sobre o outro?
Não há autoridade central que atribua um significado oficial às variáveis de ambiente antes que os aplicativos possam usá-las. POSIX define o significado de algumas variáveis ( PATH
, TERM
...) e listas de vários outros de uma forma não-normativa como sendo de uso comum, todos eles em letras maiúsculas. http_proxy
e amigos não é um deles.
Ao contrário, basicamente, todas as variáveis de ambiente convencionais usados por muitas aplicações, http_proxy
, https_proxy
, ftp_proxy
e no_proxy
são geralmente minúsculas. Não me lembro de nenhum programa que apenas os entenda em maiúsculas, nem consigo encontrar um que os tente em maiúsculas. Muitos programas usam apenas a variante minúscula, incluindo lynx, wget, curl, perl LWP, perl WWW :: Search, python urllib / urllib2, etc. Portanto, para essas variáveis, a forma correta é a minúscula.
O nome em minúsculas remonta pelo menos ao CERN libwww 2.15 em março de 1994 (obrigado a Stéphane Chazelas por localizá-lo). Não sei o que motivou a escolha de letras minúsculas, o que teria sido incomum até então.
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
-> Para constar, acabei de descobrir que a janela de encaixe 17.04.0-ce apenas honra o NO_PROXY.HTTPS_PROXY
. A janela de encaixe também usa a variante maiúscula.sudo -E apt-add-repository ppa:xxxxx/xxxx
. eu tive queunset https_proxy
eexport HTTPS_PROXY=http://a.b.c.d:xxxx
Não há padrão e as versões maiúsculas e minúsculas são usadas dependendo do aplicativo (consulte também HTTPS_PROXY, ALL_PROXY, NO_PROXY).
Por exemplo:
ondulação
git
Python
urllib.request.getproxies()
suporta variantes em minúsculas e maiúsculas.Ele também menciona um problema de segurança:
Alguns aplicativos permitem
NO_PROXY
conter intervalos de estrelas / ip, enquanto outros não.tão
você deve ter coberto.
fonte
A convenção é usar todas as variáveis de ambiente capps ao exportá-las, para que, ao escrever scripts shell, você possa usar nomes de variáveis em minúsculas sem se preocupar com colisões de nomes com outros programas. Obviamente, isso é apenas uma convenção, não há restrição técnica para limitar os nomes das variáveis de ambiente; portanto, a versão em minúscula pode ser usada em alguns casos, mas a melhor prática é em maiúscula e lembre-se de que elas fazem distinção entre maiúsculas e minúsculas e que podem ter diferentes valores.
fonte
http_proxy
e seus irmãos geralmente são minúsculos.http_proxy
e amigos deve ser escrito em letras minúsculas, violando uma convenção. Para um aplicativo,HTTP_PROXY
seria um bug, porque seria incompatível com o resto do mundo.WGET - está usando apenas as configurações de proxy em minúsculas!
fonte
Ambos
http_proxy
eHTTP_PROXY
devem funcionar em sistemas baseados em RHEL e ubuntu.fonte