bash 中检查服务是否已安装的最佳方法是什么?它应该适用于 Red Hat (CentOS) 和 Ubuntu?
思维:
service="mysqld"
if [ -f "/etc/init.d/$service" ]; then
# mysqld service exists
fi
也可以使用 service
命令并检查返回码。
service mysqld status
if [ $? = 0 ]; then
# mysqld service exists
fi
什么是最好的解决方案?
原文由 Justin 发布,翻译遵循 CC BY-SA 4.0 许可协议
要在不“ping”所有其他服务的情况下获取一项服务的状态,可以使用以下命令:
顺便说一句,这就是 bash (auto-)completion 中使用的内容(参见文件 /usr/share/bash-completion/bash_completion,查找 _services):
或者更详细的解决方案:
希望有所帮助。