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.

Bài viết liên quan