วิธีการสะท้อนคำสั่งของเชลล์ในขณะที่ดำเนินการใน Bash

Withi Kar Sathxn Kha Sang Khxng Chell Ni Khna Thi Danein Kar Ni Bash



การสะท้อนกลับของคำสั่งเชลล์ขณะดำเนินการเป็นวิธีที่มีประโยชน์ในการดีบักเชลล์สคริปต์ สามารถช่วยคุณระบุข้อผิดพลาดและทำความเข้าใจว่ารหัสของคุณทำงานอย่างไร บทความนี้จะกล่าวถึงวิธีต่างๆ ในการสะท้อนคำสั่งเชลล์เมื่อดำเนินการ และระบุรหัส Bash แบบเต็มสำหรับแต่ละวิธี

วิธีการสะท้อนคำสั่งของเชลล์ในขณะที่ดำเนินการใน 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 คุณสามารถพิมพ์แต่ละคำสั่งก่อนที่จะดำเนินการได้อย่างง่ายดาย