В Fish эта диагностика может вывести только новую строку:

echo HTTPS_PROXY=$HTTPS_PROXY

Переменные Fish содержат списки. Когда переменная без кавычек присоединяется к тексту, Fish соединяет этот текст с каждым элементом списка. Неопределённая переменная или переменная без элементов не создаёт ни одного сочетания. Весь аргумент исчезает, включая HTTPS_PROXY=.

Сохраните метку, заключив раскрытие в кавычки:

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

Так передаётся один аргумент, даже если у переменной нет элементов, поэтому метка остаётся видимой. Кавычки вокруг переменной из нескольких элементов соединяют элементы пробелами; это не доказывает, что переменная содержит один пригодный URL прокси.

Чтобы проверить, существует ли переменная, используйте операцию запроса Fish:

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

Успешный запрос означает, что переменная определена, но не обязательно что в ней непустое значение или что клиент будет её использовать. Экспорт и обнаружение прокси для конкретного клиента — отдельные проверки.

Похожие статьи