Một biến proxy chưa đặt có thể xóa toàn bộ đối số trong Fish
Hãy đặt chẩn đoán proxy trong Fish vào dấu ngoặc kép để một biến chưa đặt hoặc không có phần tử không xóa mất nhãn gắn với nó.
Trong Fish, chẩn đoán này có thể chỉ in ra một dòng mới:
echo HTTPS_PROXY=$HTTPS_PROXY
Các biến trong Fish chứa danh sách. Khi một biến không có dấu ngoặc kép được ghép vào văn bản, Fish kết hợp văn bản đó với từng phần tử của danh sách. Một biến chưa được định nghĩa, hoặc được định nghĩa mà không có phần tử nào, không tạo ra tổ hợp nào. Toàn bộ đối số biến mất, kể cả HTTPS_PROXY=.
Giữ lại nhãn bằng cách đặt phần mở rộng trong dấu ngoặc kép:
printf '%s\n' "HTTPS_PROXY=$HTTPS_PROXY"
Cách này cung cấp một đối số ngay cả khi biến không có phần tử nào, nên nhãn vẫn hiển thị. Dấu ngoặc kép quanh một biến có nhiều phần tử sẽ nối các phần tử bằng dấu cách; điều đó không chứng minh biến chứa một URL proxy dùng được.
Để kiểm tra biến có tồn tại hay không, hãy dùng thao tác truy vấn của Fish:
if set --query HTTPS_PROXY
printf '%s\n' "HTTPS_PROXY=$HTTPS_PROXY"
else
echo 'HTTPS_PROXY is not defined'
end
Một truy vấn thành công nghĩa là biến đã được định nghĩa, không nhất thiết là nó có giá trị khác rỗng hay một ứng dụng khách sẽ dùng nó. Xuất dữ liệu và việc phát hiện proxy riêng cho từng ứng dụng khách là hai bước kiểm tra tách biệt.