Como posso verificar se o mysql está instalado usando um script bash?

5

Eu preciso verificar se o mysql está instalado a partir de um script bash. Qual seria uma maneira eficiente de fazer isso? Eu pensei que poderia fazer isso:

if [ ! -f 'which mysql' ] ; then
    echo "foo" 
fi

Mas acho que posso estar confuso sobre alguma coisa. Qual seria uma solução melhor? Deve ser portátil e funcionar em Ubuntu e OSX .

    
por Kit Sunde 26.05.2012 / 21:23

3 respostas

6
type mysql >/dev/null 2>&1 && echo "MySQL present." || echo "MySQL not present."
    
por 26.05.2012 / 22:14
1

Se você usa exclusivamente o gerenciador de pacotes do Ubuntu para a instalação do MySQL, então você pode apenas usar o front end do dpkg para dpkg-query para descobrir se o pacote está instalado.

# Look up package with dpkg-query.
if dpkg --list mysql-client | egrep -q ^ii; then
    :
fi

Isso é rápido e confiável, mas obviamente funciona apenas quando você usa os pacotes do sistema Ubuntu.

    
por 27.05.2012 / 02:19
0

Eu escrevi um script Rightscale e precisava saber se o mysql-server estava instalado. Eu usei:

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