我需要检查 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