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