22

インストールされているパッケージを確認し、インストールされていない場合はインストールする必要があります。

RHEL、CentOS、Fedora の例:

rpm -qa | grep glibc-static
glibc-static-2.12-1.80.el6_3.5.i686

BASH でチェックするにはどうすればよいですか?

私は何かをしますか?

if [ "$(rpm -qa | grep glibc-static)" != "" ] ; then

また、他のディストリビューションでは何を使用する必要がありますか? apt-get?

4

4 に答える 4

50

次のコードを試してください:

if ! rpm -qa | grep -qw glibc-static; then
    yum install glibc-static
fi

以下:

rpm -qa | grep -qw glibc-static || yum install glibc-static

Debian 好きの場合:

dpkg -l | grep -qw package || apt-get install package

archlinux の場合:

pacman -Qq | grep -qw package || pacman -S package
于 2012-10-09T18:31:16.883 に答える
0
if [ $(yum list installed | cut -f1 -d" " | grep --extended '^full name of package being checked$' | wc -l) -eq 1 ]; then
  echo "installed";
else
  echo "missing"
fi

エラー状態に依存せずにインストール済み/欠落を返すため、これを使用します(これにより、エラーに対して「許容範囲なし」のアプローチをとるスクリプトで問題が発生する可能性があります

set -o errexit

例えば)

于 2018-05-28T23:20:25.347 に答える