อย่างไรก็ตาม ผู้ใช้สคริปต์ทุบตีจำนวนมากต้องการส่งคืนด้วยรหัสส่งคืนที่แตกต่างกันเมื่อออก แต่ได้รับข้อผิดพลาด ในบทช่วยสอนนี้ เราจะอธิบายวิธีการต่างๆ ในการทำให้สคริปต์ Bash ส่งคืนด้วยโค้ดส่งคืนที่แตกต่างกันเมื่อออก
สคริปต์ทุบตีส่งคืนด้วยรหัสส่งคืนที่แตกต่างกันเมื่อออก
ก่อนย้ายไปยังเมธอด มาดูโค้ดทางออกที่มีความหมายเฉพาะกันก่อน:
รหัสออก | คำอธิบาย |
0 | สคริปต์ถูกดำเนินการสำเร็จ |
1 | สคริปต์ทำงานโดยมีข้อผิดพลาดทั่วไป |
สอง | การใช้คำสั่งในตัวบางคำสั่งในสคริปต์ไม่ถูกต้อง |
126 | แสดงข้อผิดพลาดสำหรับคำสั่งที่เรียกใช้และไม่สามารถดำเนินการได้ |
127 | คำสั่งไม่มีอยู่ในสคริปต์ |
128 | แสดงรหัสออกนอกช่วงหรือสัญญาณข้อผิดพลาดร้ายแรง |
130 | CTRL+C ยุติสคริปต์ |
255 | รหัสข้อผิดพลาดความล้มเหลวทั่วไปของสคริปต์ |
วิธีรับรหัสคืนเมื่อออก
คุณเพียงแค่ต้องเขียน “echo $?” คำสั่งรับโค้ดส่งคืน ตัวอย่างเช่น คุณต้องการเปรียบเทียบตัวเลขสองตัวโดยใช้สคริปต์ทุบตีต่อไปนี้:
เมื่อคุณรันสคริปต์ในเทอร์มินัลแล้ว ให้รัน “echo $?” เพื่อรับรหัสคืนเมื่อออก:
. / การเปรียบเทียบ.sh
เสียงก้อง $?
“comparison.sh” ดำเนินการสำเร็จ นั่นเป็นสาเหตุที่เทอร์มินัลแสดงศูนย์เป็นรหัสส่งคืน ในทำนองเดียวกัน คุณจะได้รับค่าไม่ใช่ศูนย์เมื่อดำเนินการตามสคริปต์สำเร็จ ตัวอย่างเช่น หากคุณใช้ Ls แทนคำสั่ง ls ในสคริปต์ คุณอาจได้รับค่าที่ไม่ใช่ศูนย์เป็นโค้ดส่งคืน:
ดังที่คุณเห็นในภาพก่อนหน้า เทอร์มินัลแสดง 127 เป็นโค้ดส่งคืน เนื่องจากสคริปต์มีคำสั่งที่ไม่ถูกต้อง:
สร้าง Bash Script กลับด้วยรหัสทางออกที่แตกต่างกัน
คุณสามารถตั้งค่ารหัสออกในสคริปต์ได้ด้วยตนเอง ตัวอย่างเช่น หากคุณต้องการรับ 255 เป็นรหัสออก ให้ใช้สคริปต์ต่อไปนี้:
ตอนนี้ รันสคริปต์แล้วเรียกใช้ 'echo $?' คำสั่งเพื่อรับ 255 เป็นรหัสส่งคืน:
. / การเปรียบเทียบ.shเสียงก้อง $?
บทสรุป
นี่คือทั้งหมดที่เกี่ยวกับรหัสออกที่คุณอาจได้รับหลังจากรันสคริปต์ Bash ใน Linux รหัสออกช่วยให้ผู้ใช้ระบุสถานะของสคริปต์ทุบตี คุณยังสามารถตั้งค่าและใช้รหัสส่งคืนต่างๆ ได้ด้วยตนเอง ดังนั้น คุณสามารถรับรหัสทางออกที่ไม่ใช่ศูนย์แทนที่จะเป็นศูนย์ แม้ว่าสคริปต์จะดำเนินการสำเร็จก็ตาม หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับสคริปต์ทุบตี ให้ไปที่เว็บไซต์ทางการของเรา