bash 스크립트를 사용하여 mysql이 설치되어 있는지 확인하는 방법은 무엇입니까?

bash 스크립트를 사용하여 mysql이 설치되어 있는지 확인하는 방법은 무엇입니까?

bash 스크립트에서 mysql이 설치되었는지 확인해야 합니다. 이를 수행하는 효율적인 방법은 무엇입니까? 나는 이것을 할 수 있다고 생각합니다 :

if [ ! -f `which mysql` ] ; then
    echo "foo" 
fi

그런데 뭔가 헷갈릴 수도 있을 것 같아요. 더 나은 솔루션은 무엇입니까? 이식 가능해야 하며 Ubuntu및 에서 작동해야 합니다 OSX.

답변1

type mysql >/dev/null 2>&1 && echo "MySQL present." || echo "MySQL not present."

답변2

특별히 Ubuntu 패키지 관리자를 사용하여 MySQL을 설치한 경우 dpkg 프런트엔드 dpkg-query를 사용하여 패키지가 설치되었는지 확인할 수 있습니다.

# Look up package with dpkg-query.
if dpkg --list mysql-client | egrep -q ^ii; then
    :
fi

이는 빠르고 안정적이지만 Ubuntu 시스템 패키지를 사용하는 경우에만 작동합니다.

답변3

mysql-server가 설치되어 있는지 알아야 하는 Rightscale 스크립트를 작성했습니다. 나는 다음을 사용했다:

if [ -f /etc/init.d/mysql* ]; then
    echo "installed"
else 
    echo "not installed"
fi

관련 정보