Ejecutar proxy-on.sh no reconfigura el shell padre
Elija una función de shell o un archivo cargado cuando un asistente de proxy deba alterar el entorno del shell actual.
El script exporta http_proxy, imprime “enabled” y sale. El Curl iniciado después desde la terminal original conserva su entorno antiguo.
Ejecutar el script creó un proceso hijo. Export pone un valor a disposición de los hijos de ese proceso; no devuelve el valor al shell padre. Poner el export dentro de bash -c o entre acentos graves no invierte esa relación.
Para un conmutador interactivo, una función definida en el shell actual puede hacer el trabajo previsto:
proxy_on() {
export http_proxy=http://proxy.example.net:8080
export https_proxy="$http_proxy"
}
Sustituya el endpoint de ejemplo por su servicio HTTP, o por un candidato de la lista de proxies HTTP para solicitudes públicas permitidas. Llame a la función después de cargar su definición. Un archivo de shell cargado es otra forma de ejecutar asignaciones en el shell actual en lugar de uno nuevo.
Las aplicaciones GUI existentes y otras terminales siguen conservando sus propios entornos. Si el asistente solo debe lanzar un único comando con proxy, mantener el cambio en el entorno de ese comando suele ser exactamente el alcance correcto.