Une variable de proxy non définie peut supprimer tout l'argument dans Fish
Mettez le diagnostic de proxy entre guillemets dans Fish pour qu'une variable non définie ou vide n'efface pas l'étiquette qui lui est attachée.
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.