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

問い合わせが成功したのは変数が定義されているという意味で、空でない値があることやクライアントがそれを使うことを保証するものではありません。エクスポートとクライアント固有のプロキシ検出は別々の確認です。

関連記事