สำหรับการประมาณครั้งแรก 0 คือความสำเร็จไม่ใช่ศูนย์คือความล้มเหลวโดยที่ 1 เป็นความล้มเหลวทั่วไปและสิ่งใดก็ตามที่ใหญ่กว่าความล้มเหลวที่เฉพาะเจาะจง นอกเหนือจากข้อยกเว้นเล็กน้อยที่เป็นเท็จของการทดสอบและซึ่งได้รับการออกแบบมาเพื่อให้ 1 สำหรับการประสบความสำเร็จมีข้อยกเว้นอื่น ๆ ไม่กี่ที่ฉันพบ
ยิ่งกว่าความเป็นจริง 0 หมายถึงความสำเร็จหรือความล้มเหลว 1 หมายถึงความล้มเหลวทั่วไปหรือความสำเร็จ 2 หมายถึงความล้มเหลวทั่วไปหากทั้ง 1 และ 0 ใช้สำหรับความสำเร็จ แต่อาจประสบความสำเร็จเช่นกัน
คำสั่ง diff ให้ 0 ถ้าไฟล์ที่เปรียบเทียบเหมือนกัน 1 ถ้ามันต่างกันและ 2 ถ้าไบนารีต่างกัน 2 ยังหมายถึงความล้มเหลว คำสั่ง less ให้ 1 สำหรับความล้มเหลวเว้นแต่คุณจะไม่สามารถระบุอาร์กิวเมนต์ในกรณีนี้มันจะออกจาก 0 แม้จะล้มเหลว
คำสั่ง more และคำสั่ง spell ให้ 1 สำหรับความล้มเหลวเว้นแต่ความล้มเหลวเป็นผลมาจากการปฏิเสธสิทธิ์ไฟล์ที่ไม่มีอยู่หรือพยายามอ่านไดเรกทอรี ในกรณีเหล่านี้พวกเขาออกจาก 0 แม้จะล้มเหลว
จากนั้นคำสั่ง expr จะให้ 1 สำหรับ sucess ยกเว้นว่าเอาต์พุตเป็นสตริงว่างหรือศูนย์ในกรณีนี้ 0 คือ sucess 2 และ 3 เป็นความล้มเหลว
จากนั้นมีหลายกรณีที่ความสำเร็จหรือความล้มเหลวไม่ชัดเจน เมื่อ grep ล้มเหลวในการค้นหารูปแบบมันจะออกจาก 1 แต่จะออกจาก 2 สำหรับความล้มเหลวของแท้ (เช่นปฏิเสธสิทธิ์) Klist ยังออกจาก 1 เมื่อไม่สามารถหาตั๋วได้แม้ว่านี่จะไม่ใช่ความล้มเหลวอีกต่อไปกว่าเมื่อ grep ไม่พบรูปแบบหรือเมื่อคุณมีไดเรกทอรีว่างเปล่า
ดังนั้นน่าเสียดายที่พลังของยูนิกซ์ที่ดูเหมือนจะไม่บังคับใช้กฎชุดตรรกะใด ๆ แม้ในโปรแกรมที่ใช้กันทั่วไป