如何测试是否安装了包?

可能重复:
如何检查是否已安装软件包(没有超级用户权限)

我想要一个shell脚本方法来测试/报告是否安装了包。 我不需要细节,只需要是/否。

我想出了这个方法。 有更直接的方式吗?

is_installed=0 test_installed=( `apt-cache policy domy-ce | grep Installed: ` ) [ ! "${test_installed[1]}" == "(none)" ] && is_installed=1 

您可以使用dpkg -s dpkg-query -l

在你的脚本中的目的。
礼貌: https : //stackoverflow.com/questions/1298066/check-if-a-package-is-installed-and-then-install-it-if-its-not

例如

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

用法: script.sh package1 package2 .... packageN

礼貌: https : //stackoverflow.com/a/10594734/749232