Jaki jest najlepszy sposób na sprawdzenie w bash, aby sprawdzić, czy usługa jest zainstalowana? Powinien działać zarówno w Red Hat (CentOS), jak i Ubuntu?Sprawdź, czy usługa istnieje w bashu (CentOS i Ubuntu).
Thinking:
service="mysqld"
if [ -f "/etc/init.d/$service" ]; then
# mysqld service exists
fi
można również użyć polecenia service
i sprawdzić kod zwrotny.
service mysqld status
if [ $? = 0 ]; then
# mysqld service exists
fi
Jakie jest najlepsze rozwiązanie?
użytkownika '' chkconfig aby sprawdzić jego obecność. Wartość zwracana wynosi 0, jeśli jest obecna, a 1, jeśli nie. 'service status' zwraca status usługi. –
alvits
'chkconfig' zwraca tylko wartość true, jeśli usługa jest skonfigurowana do działania w bieżącym poziomie roboczym (zgodnie ze stroną man, którą tu mam). "chkconfig --list" wydaje się mieć tutaj pożądane zachowanie (kosztem sukcesu i niepowodzenia), ale może być lepsze od sprawdzenia istnienia (i wykonalności) samego skryptu startowego. –