เหตุผลสำหรับรูปแบบนี้คือสคริปต์ผู้ดูแลในแพ็คเกจ Debian มีแนวโน้มที่จะเริ่มต้นset -eซึ่งทำให้เชลล์ออกจากทันทีที่คำสั่งใด ๆ (พูดอย่างเคร่งครัดไปป์ไลน์รายชื่อหรือคำสั่งผสม) ออกด้วยสถานะที่ไม่เป็นศูนย์ สิ่งนี้ช่วยให้มั่นใจได้ว่าข้อผิดพลาดจะไม่เกิดขึ้น: ทันทีที่มีบางอย่างผิดพลาดสคริปต์จะยกเลิก
ในกรณีที่คำสั่งในสคริปต์ได้รับอนุญาตให้ล้มเหลวการเพิ่ม|| trueให้แน่ใจว่าคำสั่งผสมที่เกิดขึ้นจะออกจากสถานะศูนย์เสมอดังนั้นสคริปต์จะไม่ยกเลิก ตัวอย่างเช่นการลบไดเรกทอรีไม่ควรเป็นข้อผิดพลาดร้ายแรง (ป้องกันไม่ให้แพคเกจถูกลบ); ดังนั้นเราจะใช้
rmdir ... || true
เนื่องจากrmdirไม่มีตัวเลือกที่จะบอกให้ละเว้นข้อผิดพลาด
||:เป็นอีกวิธีหนึ่งในการเขียนแบบนี้ (:เป็นอีกรายการในตาราง builtin ที่ชี้ไปที่true- แต่รับประกันว่าจะเป็น builtin แม้กลับไปที่ Bourne ที่กล่าวว่าสำหรับ POSIX shtrueก็รับประกันได้ว่าจะเป็น builtin - ดังนั้นจึงเป็น ความทนทานยิ่งกว่าประสิทธิภาพในเวลาที่ทันสมัยแม้ในระยะไกล)