แม้ว่าฉันจะไม่ได้ตอบคำถามดั้งเดิมเกี่ยวกับคำสั่ง no-op ปัญหามากมาย (ถ้าไม่มากที่สุด) เมื่อใครคิดว่า " ในสาขานี้ฉันไม่ต้องทำอะไร " สามารถข้ามได้โดยเพียงปรับโครงสร้างตรรกะเพื่อให้สาขานี้ชนะ ไม่เกิดขึ้น
ฉันพยายามที่จะให้กฎทั่วไปโดยใช้ตัวอย่าง OPs
  ไม่ทำอะไรเลยเมื่อ $ a มากกว่า "10" พิมพ์ "1" ถ้า $ a น้อยกว่า "5" มิฉะนั้นให้พิมพ์ "2"
เราต้องหลีกเลี่ยงสาขาที่$aได้รับมากกว่า 10 ดังนั้นจึง$a < 10เป็นเงื่อนไขทั่วไปที่สามารถนำไปใช้กับแต่ละอื่น ๆ ตามเงื่อนไข
ในแง่ทั่วไปเมื่อคุณบอกว่าไม่ทำอะไรเลยเมื่อ Xแล้วใช้ถ้อยคำว่ามันเป็นหลีกเลี่ยงสาขาที่ X โดยปกติคุณสามารถทำให้การหลีกเลี่ยงเกิดขึ้นได้โดยเพียงแค่ลบ X และนำไปใช้กับเงื่อนไขอื่นทั้งหมด
ดังนั้นตัวอย่าง OPs ที่มีกฎที่ใช้อาจถูกปรับโครงสร้างเป็น:
if [ "$a" -lt 10 ] && [ "$a" -le 5 ]
then
    echo "1"
elif [ "$a" -lt 10 ]
then
    echo "2"
fi
เพียงแค่การเปลี่ยนแปลงของข้างต้นล้อมรอบทุกอย่างใน$a < 10สภาพ:
if [ "$a" -lt 10 ]
then
    if [ "$a" -le 5 ]
    then
        echo "1"
    else
        echo "2"
    fi
fi
(สำหรับตัวอย่างเฉพาะนี้@Flimzys การปรับโครงสร้างจะดีกว่าแน่นอน แต่ฉันต้องการให้กฎทั่วไปสำหรับทุกคนที่ค้นหาวิธีการไม่ทำอะไรเลย)
               
              
trueไม่มีก็ไม่ทำงาน มันสร้างไว้ในเปลือกหอยและไม่ทำอะไรเลย