หากฟังก์ชันหรือแอปพลิเคชันมีอาร์กิวเมนต์มากกว่าศูนย์จะมีอาร์กิวเมนต์สุดท้ายเสมอ
หากคุณต้องการอ่านค่าสถานะคู่และตัวเลือกค่าเช่นเดียวกับใน:
$ ./t.sh -o output -i input -l last
และคุณต้องการยอมรับจำนวนตัวแปรของคู่ตัวเลือก / ค่า
และไม่ต้องการต้นไม้ขนาดใหญ่ถ้าหาก .. แล้ว .. .. .. ต้นไม้อื่น
จากนั้นหลังจากตรวจสอบหาจำนวนอาร์กิวเมนต์ที่ไม่เป็นศูนย์และสม่ำเสมอ
เขียน a while loop พร้อมกับคำสั่ง eval ทั้งสี่นี้เป็นเนื้อความตามด้วยคำสั่ง case โดยใช้ค่าสองค่าที่กำหนดในแต่ละ pass through loop
ส่วนที่ยากของการเขียนสคริปต์แสดงไว้ที่นี่:
#!/bin/sh
# For each pair - this chunk is hard coded for the last pair.
eval TMP="'$'$#"
eval "PICK=$TMP"
eval TMP="'$'$(($#-1))"
eval "OPT=$TMP"
# process as required - usually a case statement on $OPT
echo "$OPT \n $PICK"
# Then decrement the indices (as in third eval statement)
:<< EoF_test
$ ./t.sh -o output -i input -l last
-l
last
$ ./t.sh -o output -l last
-l
last
$ ./t.sh -l last
-l
last
EoF_test