"wget"이 특정 기능을 지원하는지 프로그래밍 방식으로 확인하는 방법은 무엇입니까?

"wget"이 특정 기능을 지원하는지 프로그래밍 방식으로 확인하는 방법은 무엇입니까?

현재 설치된 wget이 IRI 지원과 같은 특정 기능을 지원하는지 여부를 프로그래밍 방식으로 감지하는 방법이 있습니까?

나는 다음 줄을 내 항목에 추가하고 싶기 때문에 이것을 묻는 것입니다 .wgetrc.

# Use UTF-8 as the default system encoding
local_encoding = UTF-8

그러나 해당 설정을 지원하지 않으면 local_encodingwget을 사용할 수 없게 됩니다 .

따라서 wget이 이 기능을 지원하는 경우 이 설정을 조건부로 구성하고 싶습니다.

Vim( .vimrc파일) 에서는 has()다음을 사용하여 이 작업을 수행 할 수 있습니다 exists().

if has("autocmd")
  " Define autocommands here
endif

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

관련 정보