스크립트에서 외부 명령의 존재를 어떻게 감지합니까?

스크립트에서 외부 명령의 존재를 어떻게 감지합니까?

외부 명령(예: wget, svn)이 존재하는지 감지하는 방법이 있습니까?

좀 더 구체적으로 말하자면, 오늘 제가 작성한 스크립트 중 하나를 실행하려고 했는데 그 사람이 wgetsvn을 설치하지 않았습니다.

스크립트는 단순히 파일을 다운로드하고 압축을 풀거나 svn을 사용하여 트렁크를 내보냅니다.

답변1

Bash에서 type내장된 셸은 별칭, 함수, 실행 파일과 같은 실행 파일에 대한 정보를 제공합니다. help type자세히보다.

# just check for existence
type -t 'yourfunction' > /dev/null || echo 'error: yourfunction not found'

# explicitly check for given type
[[ "$( type -t 'yourfunction' )" != 'function' ]] && \
    echo 'error: yourfunction not found or is not a function'

관련 정보