Daylogs/Unix
쉘에서 프로그램이 존재하는지 확인하기
ohgyun
2014. 11. 21. 00:17
발생일: 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
반응형