In Fish, questa diagnostica può stampare solo una nuova riga:

echo HTTPS_PROXY=$HTTPS_PROXY

Le variabili di Fish contengono liste. Quando una variabile senza virgolette viene accostata a un testo, Fish combina quel testo con ogni elemento della lista. Una variabile non definita, o definita senza alcun elemento, non produce alcuna combinazione. Sparisce l'intero argomento, compreso HTTPS_PROXY=.

Conserva l'etichetta mettendo l'espansione tra virgolette:

printf '%s\n' "HTTPS_PROXY=$HTTPS_PROXY"

In questo modo si passa un solo argomento anche quando la variabile non ha elementi, quindi l'etichetta resta visibile. Le virgolette attorno a una variabile con più elementi ne uniscono gli elementi con spazi; non dimostrano che la variabile contenga un unico URL proxy utilizzabile.

Per verificare se la variabile esiste, usa l'operazione di interrogazione di Fish:

if set --query HTTPS_PROXY
    printf '%s\n' "HTTPS_PROXY=$HTTPS_PROXY"
else
    echo 'HTTPS_PROXY is not defined'
end

Un'interrogazione riuscita significa che la variabile è definita, non necessariamente che contenga un valore non vuoto o che un client la userà. Esportazione e individuazione del proxy specifica del client sono controlli separati.

Articoli correlati