Voglio un metodo di script di shell per testare / segnalare se è installato un pacchetto. Non ho bisogno di dettagli, solo un ritorno booleano per impostare il flusso logico. Ho visto Trova se un pacchetto è installato , ma dpkg
restituisce un output complesso e il suo formato cambia a seconda che il pacchetto sia nel repository Debian o in un PPA Ubuntu.
Ho scoperto che apt-cache
fa un ottimo lavoro e ho trovato questo metodo:
is_installed=0
test_installed=( `apt-cache policy package-name | grep "Installed:" ` )
[ ! "${test_installed[1]}" == "(none)" ] && is_installed=1
Qualcuno conosce un modo più semplice o più diretto?
dpkg-query -l "$package" | grep -q ^.i
solito sia sufficiente (e più facile da ricordare).