Dans Fish, ce diagnostic peut n'afficher qu'un saut de ligne :

echo HTTPS_PROXY=$HTTPS_PROXY

Les variables de Fish contiennent des listes. Lorsqu'une variable sans guillemets est accolée à du texte, Fish combine ce texte avec chaque élément de la liste. Une variable non définie, ou définie sans aucun élément, ne produit aucune combinaison. Tout l'argument disparaît, y compris HTTPS_PROXY=.

Conservez l'étiquette en mettant l'expansion entre guillemets :

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

Cela fournit un argument même lorsque la variable n'a aucun élément, si bien que l'étiquette reste visible. Les guillemets autour d'une variable à plusieurs éléments joignent ses éléments par des espaces ; ils ne prouvent pas que la variable contient une URL de proxy utilisable.

Pour vérifier si la variable existe, utilisez l'opération de requête de Fish :

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

Une requête réussie signifie que la variable est définie, pas nécessairement qu'elle contient une valeur non vide ni qu'un client l'utilisera. L'exportation et la découverte de proxy propre à chaque client sont des vérifications distinctes.

Articles similaires