web-dev-qa-db-ja.com

パッケージがインストールされているかどうかをテストする方法は?

可能性のある複製:
パッケージがインストールされているかどうかを確認する方法(スーパーユーザー権限なし)

パッケージがインストールされているかどうかをテスト/レポートするシェルスクリプトメソッドが必要です。私は詳細は必要なく、はい/いいえだけです。

この方法を思いつきました。もっと直接的な方法はありますか?

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

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

19
saji89