티스토리 뷰

발생일: 2014.10.07

키워드: shell, bash, 쉘

문제:
서버 셋팅 스크립트를 작성하고 있는데, `imagemagick`이 인스톨되어 있지 않는 경우에만 인스톨하도록 하려고 한다.
특정 커맨드가 실행 가능한지 확인하는 방법으로 체크하려고 하는데,
쉘에서 프로그램이 존재하는지를 어떻게 확인하면 될까?

해결책:

which, command, type, hash 등 여러 방법으로 확인할 수 있는데,
OS나 쉘 종류에 따라 그 결과가 다른 모양이다.

그나마 가장 적합해보이는 건, `command` 명령어를 사용하는 것이다.

    $ command -v [command] 2>/dev/null 

유효한 명령일 경우, 해당 커맨드의 절대 경로가 출력된다.

나는 `imagemagick`에서 사용하는 `convert` 명령어의 존재 여부를 아래처럼 확인했다.

    $ command -v convert 2>/dev/null
    /usr/local/bin/convert




반응형
댓글
공지사항