Debianパッケージがインストールされていることを確認するループ

Debianパッケージがインストールされていることを確認するループ

私はDebian / Ubuntuに複数のパッケージがインストールされていることを確認したいと思います。これに使用したいスクリプトは次のとおりです。

query=`dpkg-query -W -f '${Status}'`
ok="install ok"

if ! [ `$query`  curl == "$ok" ] ;then 
apt-get -y -qq install curl >> /dev/null 2>&1
fi

明らかにする

Install: target Installed is not a directory 

ただし、これは2番目の変数で見られるものと同じでなければなりません。この問題を処理する正しい方法が見つからなかったので、頭が痛いです。

ベストアンサー1

不必要に複雑な方法で仕事をしているようです。なぜダメなの?

dpkg -l curl || apt-get -y -qq install curl > /dev/null 2>&1

結局あなたは冗談を求めた。おそらくあなたが望むものはそれが利用可能かどうかを知っているので、curlこれを行うこともできます。

type curl >/dev/null 2>&1 || apt-get -y -qq install curl

おすすめ記事