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

関連情報