6
เชลล์สั่งรันคำสั่งและเปลี่ยนเส้นทางสตรีมในลำดับใด
ผมพยายามที่จะเปลี่ยนเส้นทางทั้งสองstdoutและstderrไปยังแฟ้มในวันนี้และฉันมาข้ามนี้: <command> > file.txt 2>&1 นี้เห็นได้ชัดว่าการเปลี่ยนเส้นทางstderrไปstdoutก่อนแล้วจึงส่งผลให้มีการเปลี่ยนเส้นทางไปยังstdoutfile.txt อย่างไรก็ตามทำไมถึงไม่สั่งซื้อ<command> 2>&1 > file.txt? หนึ่งธรรมชาติจะอ่านหนังสือเล่มนี้เป็น (สมมติว่าการดำเนินการจากซ้ายไปขวา) คำสั่งที่กำลังดำเนินการครั้งแรกที่stderrถูกนำไปstdoutแล้วส่งผลให้ถูกเขียนไปstdout file.txtแต่ข้างต้นเท่านั้นเปลี่ยนเส้นทางstderrไปที่หน้าจอ เชลล์ตีความทั้งสองคำสั่งอย่างไร