Como testar se o pacote está instalado? [duplicado]

12

Eu quero um método de script de shell para testar / reportar se um pacote estiver instalado. Eu não preciso de detalhes, apenas um sim / não.

Eu criei este método. Existe uma maneira mais direta?

is_installed=0
test_installed=( 'apt-cache policy domy-ce | grep Installed: ' )
[ ! "${test_installed[1]}" == "(none)" ] && is_installed=1
    
por tahoar 22.05.2012 / 09:15

1 resposta

19

Você pode usar a saída de     dpkg -s <packagename> ou dpkg-query -l <packagename>

no seu script para o propósito.
Cortesia: link

por exemplo,

#!/bin/sh

for P; do
    dpkg -s "$P" >/dev/null 2>&1 && {
        echo "$P is installed."
    } || {
        echo "$P is not installed."
    }
done

Uso: script.sh package1 package2 .... packageN

Cortesia: link

    
por saji89 22.05.2012 / 09:21