Fish Shell:
การพิมพ์ผลลัพธ์การแก้ไขโค้ด

วิธีการ:

คุ้นเคยกับ echo - มีดสวิสสำหรับการแสดงผลใน Fish นี่คือวิธีการเพิ่มการพิมพ์ดีบักเข้าไปในสคริปต์เชลล์ของคุณ

function greet
    set name $argv[1]
    echo "เฮ้, $name! มาดีบักกันเถอะ."
    echo "กำลังรันฟังก์ชัน greet" >&2
end

greet "Ada"

ตัวอย่างผลลัพธ์:

เฮ้, Ada! มาดีบักกันเถอะ.
กำลังรันฟังก์ชัน greet

Standard out (stdout) นั้นเป็นเวทีหลักของสคริปต์ของคุณ แต่สำหรับการพูดคุยดีบัก ให้ใช้ standard error (stderr) ด้วย >&2

การดำดิ่งลึก

ย้อนกลับไปตอนที่จอภาพมีความลึกเท่ากับความกว้าง การแสดงผลถือเป็นสิ่งที่มีค่า Standard out (stdout) จึงเป็นช่องทางแสดงผลที่สะอาดสำหรับผู้ใช้ ขณะที่ standard error (stderr) กลายเป็นช่องทางหลังบ้านสำหรับการสนทนาของโปรแกรมเมอร์เท่านั้น เช่น ข้อมูลดีบัก

ใน Fish, คำสั่งมาตรฐานสำหรับการแสดงผลคือ echo, printf, และ print คำสั่ง echo เข้าใจง่ายและโดยส่วนใหญ่ใช้สำหรับข้อความง่ายๆ และการดีบักแบบแทรก

คุณไม่ได้ถูกจำกัดเพียงแค่ echo เท่านั้น ถ้าชอบ printf สำหรับสตริงที่มีการจัดรูปแบบ หรือใช้การเปลี่ยนทิศทาง (> หรือ >>) เพื่อทิ้งข้อมูลดีบักเข้าไปในไฟล์เพื่อตรวจสอบในภายหลัง

สำหรับการประยุกต์ใช้งาน เรื่องที่ใช้ stderr สำหรับข้อมูลดีบักเป็นข้อตกลงจากโลก Unix ช่วยให้สามารถแยกข้อมูลจริง (actual output) ออกจากเสียงรบกวนดีบัก (debug noise) นั่นหมายความว่าผู้ใช้ยังสามารถทำการ pipe ผลลัพธ์จริงของสคริปต์ได้อย่างมีประสิทธิภาพโดยไม่ต้องกังวลเกี่ยวกับข้อมูลดีบักที่รบกวน

ดูเพิ่มเติม