ฉันคาดหวัง
echo foo | tee /proc/self/fd/{3..6} 3>&1
ล้มเหลวด้วยข้อผิดพลาดเช่น/ proc / self / fd / 4: ไม่มีไฟล์หรือไดเร็กตอรี่อื่น ๆ , แต่ด้วยความประหลาดใจของฉัน, มันแสดงผลออกมา
foo
foo
foo
foo
foo
มันเป็น3>&1
สาเหตุทำให้ตัวบอกรายละเอียดทั้งหมดต่อไปนี้ถูกเปลี่ยนเส้นทางไปยัง stdout ยกเว้นว่าจะไม่ทำงานหากฉันเปลี่ยน3
เป็นอย่างอื่นเช่น
$ echo foo | tee /proc/self/fd/{3..6} 4>&1
tee: /proc/self/fd/3: No such file or directory
tee: /proc/self/fd/5: No such file or directory
tee: /proc/self/fd/6: No such file or directory
foo
foo
$ echo foo | tee /proc/self/fd/{4..6} 4>&1
tee: /proc/self/fd/5: No such file or directory
tee: /proc/self/fd/6: No such file or directory
foo
foo
มีคำอธิบายสำหรับพฤติกรรมนี้หรือไม่?