有沒有辦法以程式方式檢測目前安裝的 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 的答案中描述的 shell 初始化似乎是唯一的可能性。
除此之外--help
,您還可以透過以下方式取得 GNU wget 的建置配置以及啟用的功能--version
:
if wget --version | grep -q "+iri"; then
# modify ~/.wgetrc
fi
如果您需要測試某個功能是否也包含在 busybox 的 wget 中,您需要知道該功能不支持,--version
而是將其「--help」列印到 stderr(不是 GNU 的 wget 那樣的 stdout)。
答案2
在某些 shell 初始化腳本中這個怎麼樣?
if wget --help | grep -q "local-encoding"; then
# modify ~/.wgetrc
fi