เมื่อฉันเปลี่ยนเส้นทางเอาต์พุตของคำสั่งไปยังไฟล์ (เช่นecho Hello > file
) ไฟล์นั้นจะรับประกันว่าจะมีข้อมูลดังกล่าวหลังจากออกคำสั่งหรือไม่ หรือมีหน้าต่างเล็ก ๆ ระหว่างคำสั่งออกและข้อมูลที่เขียนไปยังไฟล์หรือไม่? ฉันต้องการอ่านไฟล์ทันทีหลังจากที่คำสั่งออก แต่ฉันไม่ต้องการอ่านไฟล์เปล่า
echo
และ>
ไม่แยก (สั้น) กระบวนการ? และที่echo
เหลือของการส่งออกก่อนที่>
จะดำเนินการ?
>
คือการเปลี่ยนเส้นทางของเชลล์ มันเหมือนกับว่าโปรแกรมได้เปิดไฟล์ที่มีชื่อสำหรับการเขียนและแทนที่ stdout ด้วยซึ่งเป็นสิ่งที่เชลล์ทำ
file
มีส่วนร่วมHello
โดยไม่คำนึงว่ามันจะถูกล้างออกหรือไม่