Usar um proxy diferente para um único comando de shell
Coloque as variáveis de proxy antes de um comando quando quiser uma rota temporária sem alterar o shell pai nem editar arquivos de inicialização.
Você quer que um download use um proxy diferente e, depois, que tudo volte ao normal. Não é preciso editar o arquivo de inicialização do shell e torcer para lembrar de desfazer.
Para um comando externo em um shell no estilo POSIX, coloque a atribuição antes do comando:
https_proxy=http://proxy.example:8080 curl https://example.com/
Use o endpoint HTTP previsto para esse download; a lista de proxies HTTP oferece candidatos para rotas públicas permitidas. A atribuição é fornecida ao ambiente desse comando. Seus processos filhos podem herdar o valor, mas a atribuição não substitui o valor existente do shell pai após o término do comando.
O cliente ainda decide o que ler
A sintaxe do shell cria um ambiente; ela não impõe uma rota de rede. Use os nomes de variável que a aplicação suporta. Variáveis de desvio existentes, opções explícitas do comando ou a configuração da própria aplicação ainda podem afetar o resultado.
A documentação de ambiente do Bash explica o comportamento do prefixo de comando. Comandos que são funções do shell, comandos internos especiais ou sintaxe do shell podem ter regras de escopo adicionais, por isso o exemplo simples acima usa deliberadamente um programa externo.
Para vários comandos, use um subshell
(
export http_proxy=http://proxy.example:8080
export https_proxy=http://proxy.example:8080
command-one
command-two
)
O grupo entre parênteses é executado com seu próprio ambiente de shell. Substitua os nomes de comando ilustrativos pelos programas que pretende executar. Esse padrão evita a sequência frágil de salvar um valor antigo, sobrescrevê-lo e restaurá-lo à mão após cada possível falha.
Mantenha segredos fora dos exemplos copiados para o histórico do shell. Lembre também que sudo pode filtrar o ambiente; uma variável visível para o comando externo não é transmitida automaticamente através de cada limite de privilégio. Escopo temporário e escolha real do proxy continuam sendo questões separadas.