Executar proxy-on.sh não reconfigura o shell pai
Escolha uma função de shell ou um arquivo carregado quando um auxiliar de proxy deve alterar o ambiente do shell atual.
O script exporta http_proxy, imprime “enabled” e sai. O Curl iniciado depois no terminal original continua com seu ambiente antigo.
Executar o script criou um processo filho. Export disponibiliza um valor para os filhos desse processo; não devolve o valor ao shell pai. Colocar o export dentro de bash -c ou entre crases não inverte essa relação.
Para um comutador interativo, uma função definida no shell atual pode fazer o trabalho pretendido:
proxy_on() {
export http_proxy=http://proxy.example.net:8080
export https_proxy="$http_proxy"
}
Substitua o endpoint de exemplo pelo seu serviço HTTP, ou por um candidato da lista de proxies HTTP para requisições públicas permitidas. Chame a função depois de carregar sua definição. Um arquivo de shell carregado é outra forma de executar atribuições no shell atual em vez de um novo.
Aplicações GUI existentes e outros terminais continuam mantendo seus próprios ambientes. Se o auxiliar serve apenas para iniciar um único comando via proxy, manter a alteração no ambiente desse comando costuma ser exatamente o escopo correto.