現在インストールされている 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