Wie hier beschrieben , werden Umleitungen open()
zum Schreiben in eine Datei verwendet. In der Shell wird ein innerer (?) Dateideskriptor erstellt, der bei Bedarf verwendet wird.
Wird der innere Deskriptor für die gesamte Dauer des Skripts oder die Lebensdauer der Shell erstellt? Wird es nach einiger Zeit, einer Reihe von Operationen usw. zerstört?
Ich meine insbesondere Dateideskriptoren für die Dateien, die die Shell selbst für die Operationen ihrer eingebauten Dateien öffnet. Wird der Deskriptor erstellt und die Datei für jede Operation geöffnet? Wie lange werden sie aufbewahrt? Beispiel:
#!/bin/bash
>>x echo something
...do many other things not related to the file x
>>x echo something more
Wird die erste Deskriptorinstanz bis zur zweiten Operation beibehalten?
Was ist mit der Shell, die ich in einem Terminal verwende? Ich halte manchmal eine Sitzung tagelang, vielleicht sogar wochenlang offen. Behält es immer noch die Deskriptoren für alle Dateien, die ich mit integrierten Shell-Dateien bearbeitet habe?