`wget` が特定の機能をプログラムでサポートしているかどうかを確認するにはどうすればよいですか?

`wget` が特定の機能をプログラムでサポートしているかどうかを確認するにはどうすればよいですか?

現在インストールされている wget が特定の機能 (たとえば、IRI サポート) をサポートしているかどうかをプログラムで検出する方法はありますか?

以下の行を追加したいので質問しています.wgetrc:

# Use UTF-8 as the default system encoding
local_encoding = UTF-8

しかし、この設定をサポートしていない場合、wget は使用できなくなりますlocal_encoding

したがって、wget がこの機能をサポートしている場合にのみ、この設定を条件付きで構成したいと思います。

Vim (ファイル) では、 と を.vimrc使用してこれを実行できます。has()exists()

if has("autocmd")
  " Define autocommands here
endif

wget で同様のことを行うにはどうすればよいでしょうか.wgetrc?

答え1

に追加のロジックを含めることはできない.wgetrcため、enzotib の回答で説明されているようにシェルの初期化を使用するのが唯一の可能性のようです。

のほかに--help、 を介して GNU の wget のビルド構成と有効な機能を取得できます--version

if wget --version | grep -q "+iri"; then 
    # modify ~/.wgetrc
fi

ある機能が busybox の wget にも含まれているかどうかをテストする必要がある場合、その機能がサポートされておらず--version、代わりに「--help」が stderr (GNU の wget のように stdout ではない) に出力されることを知っておく必要があります。

答え2

シェルの初期化スクリプトでこれについてはどうでしょうか?

if wget --help | grep -q "local-encoding"; then 
    # modify ~/.wgetrc
fi

関連情報