有没有办法以编程方式检测当前安装的 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