Score:0

คำสั่งเพื่อส่งคืนเวอร์ชันแพ็คเกจหรือสตริงว่าง

ธง us

ฉันกำลังมองหาคำสั่งง่าย ๆ ที่พิมพ์เวอร์ชันแพ็คเกจ เท่านั้น หากมีการติดตั้งแพ็คเกจ

หากไม่ได้ติดตั้งแพ็คเกจ (หรือไม่ใช่แพ็คเกจที่ถูกต้อง) ฉันต้องการให้เอาต์พุตเป็นสตริงว่าง

นี่คือสิ่งที่ฉันคิดขึ้นมาได้ น่าเสียดายที่มันใช้ได้เฉพาะในกรณีที่มีแพ็คเกจอยู่

dpkg-query --showformat="\${Version}" --show ubuntu-desktop 
1.469

อย่างไรก็ตามเมื่อแพ็คเกจไม่ ไม่ มีอยู่ เอาต์พุตเป็นข้อความแสดงข้อผิดพลาด ฉันต้องการให้ผลลัพธ์ว่างเปล่าหรือว่างเปล่าในกรณีนี้

dpkg-query --showformat="\${Version}" --show ubuntu-desktopX
dpkg-query: ไม่พบแพ็คเกจที่ตรงกับ ubuntu-desktopX

ฉันจะบรรลุสิ่งนี้ได้อย่างไร

อัพเดท 1

เราสามารถบรรลุสิ่งนี้โดยไม่ใช้การเปลี่ยนเส้นทาง (เช่น 2>/dev/null)?

อัพเดท 2

ผลลัพธ์จริง/เท็จก็ใช้ได้เช่นกัน เนื่องจากฉันสามารถรับเวอร์ชันแพ็คเกจโดยใช้ข้อมูลด้านบนได้เสมอ หากผลลัพธ์เป็นจริง

hr flag
*output* อาจ *เป็น* ว่างเปล่า; ข้อความ `dpkg-query: ไม่พบแพ็คเกจที่ตรงกับ ubuntu-desktopX` ไปที่สตรีมข้อผิดพลาด 'stderr'
us flag
แน่นอนคุณพูดถูก ขอบคุณที่ชี้ให้เห็น อย่างไรก็ตาม ให้ฉันเพิ่มข้อจำกัดที่ฉันไม่ต้องการเปลี่ยนเส้นทาง stderr ไปที่ `/dev/null` อยากรู้ว่ามีใครคิดอะไรได้บ้าง
WinEunuuchs2Unix avatar
in flag
ท้ายที่สุดแล้ว คุณไม่ได้มองหา True/False มากกว่า Something/Nothing ใช่ไหม
us flag
เมื่อคุณนำมันขึ้นมาแล้ว จริงเท็จจะใช้ได้ผล (ฉันสามารถรับเวอร์ชันแพ็คเกจได้เสมอหากผลลัพธ์เป็นจริง)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา