O teu script contén a liña export https_proxy=... correcta. Execútao, e o seguinte comando segue vendo o proxy antigo. Pode que o script funcionase perfectamente dentro do seu propio proceso.

Executar un script inicia un shell separado. Pode pasar variables aos comandos que inicia, pero non pode substituír a contorna do shell pai do terminal despois de saír.

./set-proxy.sh
. ./set-proxy.sh

Son operacións distintas. A segunda usa o builtin dot do shell para ler o ficheiro no shell actual. Bash tamén lle chama source; consulta a súa referencia de builtins.

Carga con source só un ficheiro no que confíes, porque todos os seus comandos de shell se executan nese contexto actual. Se o proxy só se necesita para comandos dentro do script, a execución normal é o límite correcto. Para un único comando externo, unha asignación de proxy limitada ao comando evita cambiar o shell actual.

Mantén literais as asignacións de variables. Os acentos graves significan substitución de comandos, non comillas. Unha liña que asigna un proxy non debería intentar executar o seu URL por accidente. Para valores destinados a escoller un punto final público, a lista de proxys gratuítos ofrece candidatos cuxo protocolo debe coincidir co cliente. Por último, comproba os nomes de variable que le o cliente de rede real; corrixir o ámbito do shell non fai efectiva unha variable non admitida.

Artigos relacionados