Незаданная переменная прокси в Fish может удалить весь аргумент
Заключайте диагностику прокси в Fish в кавычки, чтобы незаданная или пустая переменная не стирала связанную с ней метку.
В 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
Успешный запрос означает, что переменная определена, но не обязательно что в ней непустое значение или что клиент будет её использовать. Экспорт и обнаружение прокси для конкретного клиента — отдельные проверки.