如何使用 bash 脚本检查 mysql 是否安装?

如何使用 bash 脚本检查 mysql 是否安装?

我需要检查 mysql 是否是从 bash 脚本中安装的。这样做的有效方法是什么?我想我可以这样做:

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

我编写了一个 Rightscale 脚本,需要知道是否安装了 mysql-server。我用了:

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

相关内容