Στο 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

Ένα επιτυχές ερώτημα σημαίνει ότι η μεταβλητή έχει οριστεί, όχι απαραίτητα ότι περιέχει μη κενή τιμή ή ότι κάποιος πελάτης θα τη χρησιμοποιήσει. Η εξαγωγή και η ανακάλυψη διακομιστή μεσολάβησης ανά πελάτη είναι ξεχωριστοί έλεγχοι.

Σχετικά άρθρα