Não "parece não funcionar" no caso de sudo apt-get
, parece funcionar quando você faz sudo echo $http_proxy
.
Quando você insere um comando shell, ele expande e expande todas as variáveis e aliases antes de serem executados.
Então, sudo echo $http_proxy
se torna sudo echo http://proxyserver:8080
, que passa bem.
O motivo $http_proxy
não é visto por apt-get
porque sudo
limpa todas as variáveis de ambiente, exceto as que estão explicitamente na lista de permissões em /etc/sudoers
com a diretiva env_keep
.
Mais informações sobre como manipular a maneira como sudo
lida com variáveis de ambiente (ou como, normalmente, não ) podem ser encontradas em man sudoers
.