私は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