วิธีการสะท้อนคำสั่งของเชลล์ในขณะที่ดำเนินการใน Bash
คำสั่งสะท้อนใน Bash ช่วยให้ผู้ใช้และนักพัฒนาเข้าใจสิ่งที่เกิดขึ้นในสคริปต์ของพวกเขา ผู้ใช้สามารถตรวจสอบได้ว่าสคริปต์ทำงานตามที่ตั้งใจไว้และระบุข้อผิดพลาดหรือลักษณะการทำงานที่ไม่คาดคิดได้ด้วยการแสดงคำสั่งขณะที่ดำเนินการ ต่อไปนี้เป็นวิธีการบางอย่างในการสะท้อนคำสั่งเชลล์ใน Bash:
วิธีที่ 1: การใช้ชุดคำสั่ง
คำสั่ง set ใน Bash สามารถใช้เพื่อเปิดหรือปิดตัวเลือกและตั้งค่าพารามิเตอร์เชลล์ โดยการตั้งค่า -x คุณสามารถเปิดใช้งานการติดตามเชลล์ ซึ่งจะทำให้ Bash พิมพ์แต่ละคำสั่งก่อนที่จะดำเนินการ
#!/bin/bash
ชุด -x
เสียงสะท้อน 'สวัสดีลีนุกซ์!'
ชุด + x
ผลลัพธ์ของสคริปต์นี้จะรวมคำสั่งที่กำลังดำเนินการ:
วิธีที่ 2: การใช้กับดัก DEBUG
DEBUG Trap เป็น Shell Trap พิเศษที่ดำเนินการก่อนแต่ละคำสั่งในสคริปต์ Bash ด้วยการกำหนดฟังก์ชันสำหรับกับดัก DEBUG คุณสามารถพิมพ์แต่ละคำสั่งก่อนที่จะดำเนินการ:
#!/bin/bash
การทำงาน แก้ไขข้อบกพร่อง {
เสียงสะท้อน ' $BASH_คำสั่ง '
}
กับดัก ดีบัก DEBUG
เสียงสะท้อน 'สวัสดีชาวโลก!'
กับดัก - ดีบัก
ผลลัพธ์ของสคริปต์นี้จะรวมคำสั่งที่กำลังดำเนินการ:
วิธีที่ 3: การใช้ตัวเลือก Bash -x
คุณยังสามารถเปิดใช้งาน เอ็กซ์เทรซ โหมดโดยผ่าน -x ตัวเลือกสำหรับคำสั่ง Bash เมื่อเรียกใช้สคริปต์ เพื่อแสดงการใช้ -x ตัวเลือกนี่คือสคริปต์ Bash อย่างง่ายที่เพิ่งพิมพ์สตริงโดยใช้คำสั่ง echo:
#!/bin/bashเสียงสะท้อน 'สวัสดีลีนุกซ์!'
ในการเรียกใช้สคริปต์นี้โดยเปิดใช้งานโหมด xtrace คุณสามารถเรียกใช้สคริปต์โดยใช้ไวยากรณ์ที่กำหนดด้านล่าง:
ทุบตี -x < ชื่อไฟล์ Scipt >ในตัวอย่างนี้ Bash -x คำสั่งรันสคริปต์ด้วย เอ็กซ์เทรซ เปิดใช้งานโหมด ทำให้เชลล์พิมพ์แต่ละคำสั่งก่อนที่จะดำเนินการ จากนั้นคำสั่ง echo พิมพ์ 'สวัสดีชาวโลก!' ไปที่คอนโซล:
บทสรุป
การสะท้อนคำสั่งเชลล์ในขณะที่ดำเนินการเป็นวิธีที่มีประสิทธิภาพในการดีบักสคริปต์ Bash โดยใช้ ชุด คำสั่ง, -x ตัวเลือกและ กับดัก DEBUG คุณสามารถพิมพ์แต่ละคำสั่งก่อนที่จะดำเนินการได้อย่างง่ายดาย