En Fish, este diagnóstico pode imprimir só unha liña nova:

echo HTTPS_PROXY=$HTTPS_PROXY

As variables de Fish conteñen listas. Cando unha variable sen comiñas se une a un texto, Fish combina ese texto con cada elemento da lista. Unha variable sen definir, ou definida sen ningún elemento, non produce combinacións. Desaparece todo o argumento, incluído HTTPS_PROXY=.

Conserva a etiqueta entrecomillando a expansión:

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

Isto fornece un só argumento mesmo cando a variable non ten elementos, de modo que a etiqueta segue visible. Entrecomillar unha variable con varios elementos úneos con espazos; non demostra que a variable conteña un único URL de proxy utilizábel.

Para comprobar se a variable existe, usa a 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

Unha consulta correcta significa que a variable está definida, non necesariamente que conteña un valor non baleiro nin que un cliente vaia usala. A exportación e o descubrimento de proxy específico de cada cliente son comprobacións distintas.

Artigos relacionados