ตามที่อธิบายไว้ที่นี่การเปลี่ยนเส้นทางใช้open()
เพื่อเขียนไฟล์ มีตัวอธิบายไฟล์ Inner (?) ที่สร้างขึ้นในเชลล์แล้วใช้เมื่อจำเป็น
descriptor ด้านในถูกสร้างขึ้นตลอดระยะเวลาของสคริปต์หรืออายุการใช้งานเชลล์หรือไม่? มันจะถูกทำลายหลังจากเวลาผ่านไปหลายครั้งหรือหลายครั้งหรือไม่?
ฉันหมายถึงโดยเฉพาะอย่างยิ่ง file descriptor สำหรับไฟล์ที่เชลล์ตัวเองเปิดขึ้นสำหรับการทำงานของ builtins สร้าง descriptor และเปิดไฟล์สำหรับการดำเนินการแต่ละครั้งหรือไม่ พวกเขาจะเก็บไว้นานแค่ไหน? ตัวอย่าง:
#!/bin/bash
>>x echo something
...do many other things not related to the file x
>>x echo something more
อินสแตนซ์ของ descriptor แรกถูกเก็บไว้จนกว่าการดำเนินการที่สองหรือไม่
แล้วเชลล์ที่ฉันใช้ในเทอร์มินัลล่ะ บางครั้งฉันเปิดเซสชันหนึ่งวันอาจเป็นสัปดาห์ มันยังคงรักษาคำอธิบายสำหรับไฟล์ทั้งหมดที่ฉันดำเนินการกับเชลล์ในตัว?