मैं एक शेल स्क्रिप्ट विधि का परीक्षण / रिपोर्ट करना चाहता हूं यदि कोई पैकेज स्थापित है। मुझे विवरण की आवश्यकता नहीं है, तर्क प्रवाह सेट करने के लिए केवल बूलियन वापसी। मैंने एक पैकेज स्थापित होने पर फाइंड को देखा , लेकिन dpkgजटिल आउटपुट देता है और इसका प्रारूप इस आधार पर बदलता है कि पैकेज डेबियन रिपॉजिटरी में है या उबंटू पीपीए में।
मैंने पाया कि apt-cacheबहुत अच्छा काम करता है और मैं इस विधि के साथ आया:
is_installed=0
test_installed=( `apt-cache policy package-name | grep "Installed:" ` )
[ ! "${test_installed[1]}" == "(none)" ] && is_installed=1
क्या कोई सरल या अधिक प्रत्यक्ष तरीका जानता है?
dpkg-query -l "$package" | grep -q ^.iआमतौर पर पर्याप्त (और याद रखना आसान है)।