ในสคริปต์ข้อผิดพลาดมักจะถูกส่งไปยัง file descriptor 2 ด้วย&2เช่น:
echo "error" >&2
บางครั้ง/dev/stderrใช้แทน:
echo "error" > /dev/stderr
มองไปที่/dev/stderrฉันเห็นว่ามันเป็นเพียง symlink ไป/proc/self/fd/2ซึ่งในทางกลับกันคือ symlink ไปที่/dev/pts/5(ใน terminal ปัจจุบันของฉัน)
ดูเหมือนซับซ้อนกว่าเล็กน้อย มีเหตุผลบางอย่างที่อยู่เบื้องหลังหรือไม่
มีการใช้/dev/stderrและ&2เทียบเท่า?
เป็นที่ชื่นชอบมากกว่าคนอื่น ๆ ?
>2หรือ>&2?
echo "error" >2สร้างไฟล์ที่มีชื่อและเนื้อหา2error