`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 in과 비슷한 작업을 어떻게 수행할 수 있나요 .wgetrc?

답변1

에 추가 논리를 포함할 수 없으므로 .wgetrcenzotib의 답변에 설명된 대로 쉘 초기화를 사용하는 것이 유일한 가능성인 것 같습니다.

외에도 다음을 --help통해 GNU wget의 빌드 구성과 활성화된 기능을 얻을 수 있습니다 --version.

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

비지박스의 wget에도 기능이 포함되어 있는지 테스트해야 하는 경우 해당 기능이 지원되지 않고 --version대신 "--help"를 stderr(GNU의 wget과 같은 stdout이 아님)로 인쇄한다는 것을 알아야 합니다.

답변2

일부 쉘 초기화 스크립트에서는 어떻습니까?

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

관련 정보