如何测试包是否已安装?

如何测试包是否已安装?

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

我想要一个 shell 脚本方法来测试/报告某个包是否已安装。我不需要详细信息,只需要是/否。

我想到这个方法。有没有更直接的方法?

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

答案1

dpkg -s <packagename> 您可以使用或的 输出 dpkg-query -l <packagename>

在你的脚本中实现这个目的。
礼貌: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

相关内容