Eine nicht gesetzte Proxy-Variable kann in Fish das ganze Argument entfernen
Setzen Sie die Proxy-Diagnose in Fish in Anführungszeichen, damit eine nicht gesetzte oder elementlose Variable die zugehörige Beschriftung nicht auslöscht.
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.