In Fish kann diese Diagnose nur einen Zeilenumbruch ausgeben:

echo HTTPS_PROXY=$HTTPS_PROXY

Fish-Variablen enthalten Listen. Wird eine Variable ohne Anführungszeichen an Text angehängt, verbindet Fish diesen Text mit jedem Listenelement. Eine nicht definierte Variable oder eine ohne Elemente definierte Variable erzeugt keine Verbindungen. Das gesamte Argument verschwindet, einschließlich HTTPS_PROXY=.

Erhalten Sie die Beschriftung, indem Sie die Expansion in Anführungszeichen setzen:

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

Dadurch wird ein Argument übergeben, auch wenn die Variable keine Elemente hat, sodass die Beschriftung sichtbar bleibt. Anführungszeichen um eine Variable mit mehreren Elementen verbinden deren Elemente mit Leerzeichen; sie beweisen nicht, dass die Variable eine nutzbare Proxy-URL enthält.

Um zu prüfen, ob die Variable existiert, nutzen Sie die Abfrageoperation von Fish:

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

Eine erfolgreiche Abfrage bedeutet, dass die Variable definiert ist, nicht zwangsläufig, dass sie einen nicht leeren Wert enthält oder dass ein Client sie verwendet. Export und klientspezifische Proxy-Erkennung sind getrennte Prüfungen.

Ähnliche Artikel