در 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

پرس‌وجوی موفق یعنی متغیر تعریف شده است، نه لزوماً اینکه مقدار ناتهی دارد یا سرویس‌گیرنده‌ای از آن استفاده می‌کند. صدور و کشف پروکسی مخصوص هر سرویس‌گیرنده دو بررسی جداست.

مقالات مرتبط