Existe uma maneira de detectar programaticamente se o wget atualmente instalado suporta um determinado recurso; por exemplo, suporte IRI?
Estou perguntando porque gostaria de adicionar estas linhas ao meu .wgetrc
:
# Use UTF-8 as the default system encoding
local_encoding = UTF-8
Mas isso torna o wget inutilizável se não suportar a local_encoding
configuração.
Então, eu gostaria de definir condicionalmente essa configuração, somente se o wget suportar o recurso.
No Vim ( .vimrc
arquivos) você pode fazer isso usando has()
e exists()
:
if has("autocmd")
" Define autocommands here
endif
Como posso fazer algo semelhante para o wget in .wgetrc
?
Responder1
Você não pode incluir nenhuma lógica extra .wgetrc
, portanto, usar a inicialização do shell conforme descrito na resposta do enzotib parece ser a única possibilidade.
Além disso --help
, você pode obter a configuração de compilação do wget do GNU e, portanto, os recursos habilitados via --version
:
if wget --version | grep -q "+iri"; then
# modify ~/.wgetrc
fi
Caso você precise testar se um recurso também está incluído no wget do busybox, você precisa saber que ele não suporta --version
e imprime seu "--help" para stderr (não stdout como o wget do GNU).
Responder2
E isso em algum script de inicialização do shell?
if wget --help | grep -q "local-encoding"; then
# modify ~/.wgetrc
fi