Quere que unha descarga use un proxy distinto e que despois todo volva á normalidade. Non fai falta editar o ficheiro de inicio da shell e confiar en acordarse de desfacelo.

Para un comando externo nunha shell de estilo POSIX, poña a asignación antes do comando:

https_proxy=http://proxy.example:8080 curl https://example.com/

Use o punto de conexión HTTP previsto para esa descarga; a lista de proxies HTTP ofrece candidatos para rutas públicas permitidas. A asignación entrégase á contorna dese comando. Os seus procesos fillos poden herdar o valor, pero a asignación non substitúe o valor existente da shell pai cando o comando remata.

O cliente segue decidindo que ler

A sintaxe da shell crea unha contorna; non impón unha ruta de rede. Use os nomes de variable que admite a aplicación. As variables de omisión existentes, as opcións explícitas do comando ou a configuración propia da aplicación aínda poden afectar o resultado.

A documentación da contorna de Bash explica o comportamento do prefixo de comando. Os comandos que son funcións da shell, ordes internas especiais ou sintaxe da shell poden ter regras de ámbito adicionais, por iso o exemplo simple anterior usa deliberadamente un programa externo.

Para varios comandos, use un subshell

(
  export http_proxy=http://proxy.example:8080
  export https_proxy=http://proxy.example:8080
  command-one
  command-two
)

O grupo entre parénteses execútase coa súa propia contorna de shell. Substitúa os nomes de comando ilustrativos polos programas que pretende executar. Este patrón evita a secuencia fráxil de gardar un valor antigo, sobrescribilo e restauralo a man despois de cada posible fallo.

Manteña os segredos fóra dos exemplos copiados ao historial da shell. Lembre tamén que sudo pode filtrar a contorna; unha variable visible para o comando externo non se transmite automaticamente a través de cada límite de privilexios. O ámbito temporal e a selección real do proxy seguen sendo cuestións separadas.

Artigos relacionados