En Fish, este diagnóstico puede imprimir solo una línea nueva:

echo HTTPS_PROXY=$HTTPS_PROXY

Las variables de Fish contienen listas. Cuando una variable sin comillas se une a un texto, Fish combina ese texto con cada elemento de la lista. Una variable sin definir, o definida sin ningún elemento, no produce combinaciones. El argumento entero desaparece, incluido HTTPS_PROXY=.

Conserva la etiqueta entrecomillando la expansión:

printf '%s\n' "HTTPS_PROXY=$HTTPS_PROXY"

Así se pasa un solo argumento incluso cuando la variable no tiene elementos, de modo que la etiqueta sigue visible. Entrecomillar una variable con varios elementos los une con espacios; no demuestra que la variable contenga una única URL de proxy utilizable.

Para comprobar si la variable existe, usa la operación de consulta de Fish:

if set --query HTTPS_PROXY
    printf '%s\n' "HTTPS_PROXY=$HTTPS_PROXY"
else
    echo 'HTTPS_PROXY is not defined'
end

Una consulta correcta significa que la variable está definida, no necesariamente que contenga un valor no vacío ni que un cliente vaya a usarla. La exportación y el descubrimiento de proxy específico de cada cliente son comprobaciones distintas.

Artículos relacionados