Fish Shell:
การเขียนไปยังข้อผิดพลาดมาตรฐาน
วิธีทำ:
ใน Fish Shell, คุณสามารถเขียนไปยัง stderr โดยการเปลี่ยนทิศทางผลลัพธ์ของคุณโดยใช้ >&2
นี่คือตัวอย่างพื้นฐาน:
echo "This is an error message" >&2
คำสั่งนี้เพียง echo ข้อความไปยัง stderr แทนที่จะเป็น stdout หากคุณจะเขียนสคริปต์ที่ส่งออกข้อความปกติและข้อความผิดพลาด คุณอาจทำอะไรบางอย่างเช่นนี้:
echo "Starting the process"
echo "An error occurred" >&2
echo "Process completed"
ผลลัพธ์ตัวอย่างหากคุณรันสคริปต์และเปลี่ยนทิศทาง stderr ไปยังไฟล์:
Starting the process
Process completed
ข้อความผิดพลาดจะไม่ปรากฏใน standard output แต่จะพบในไฟล์ที่คุณเปลี่ยนทิศทาง stderr ไป
ในสถานการณ์ที่ต้องการการจัดการข้อผิดพลาดหรือการบันทึกข้อมูลที่ซับซ้อนมากขึ้น Fish Shell ไม่มีไลบรารีในตัวที่ออกแบบมาโดยเฉพาะสำหรับสิ่งนี้ อย่างไรก็ตาม คุณสามารถใช้เครื่องมือภายนอกหรือเขียนฟังก์ชันช่วยได้ ตัวอย่างเช่น การสร้างฟังก์ชันการบันทึกข้อผิดพลาดอย่างง่ายอาจดูเป็นแบบนี้:
function log_error
echo $argv >&2
end
log_error "This is an advanced error message"
ฟังก์ชัน log_error
นี้จะรับสตริงใด ๆ ที่คุณให้ไปและเขียนมันไปที่ stderr การใช้ฟังก์ชันเช่นนี้สามารถช่วยให้การจัดการข้อผิดพลาดของคุณสะอาดและสอดคล้องกันทั่วทั้งสคริปต์ของคุณ