ฉันต้องการวิธีเชลล์สคริปต์เพื่อทดสอบ / รายงานหากมีการติดตั้งแพ็คเกจ ฉันไม่ต้องการรายละเอียดเพียงกลับบูลีนเพื่อตั้งค่าการไหลของตรรกะ ฉันดูที่Find หากมีการติดตั้งแพ็กเกจแต่dpkg
ส่งคืนเอาต์พุตที่ซับซ้อนและการเปลี่ยนแปลงรูปแบบขึ้นอยู่กับว่าแพคเกจนั้นอยู่ในที่เก็บ Debian หรือใน Ubuntu PPA
ฉันพบว่า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
มักจะเพียงพอ (และง่ายต่อการจดจำ)