Come descritto qui , i reindirizzamenti usano open()
per scrivere su un file. C'è un descrittore di file interno (?) Creato nella shell e quindi usato quando necessario.
Il descrittore interno è stato creato per l'intera durata dello script o della durata della shell? Viene distrutto dopo un po 'di tempo, una serie di operazioni, ecc.?
Intendo in particolare i descrittori di file per i file che la shell stessa apre per le operazioni dei suoi builtin. Il descrittore è stato creato e il file è stato aperto per ogni operazione? Per quanto tempo sono tenuti? Esempio:
#!/bin/bash
>>x echo something
...do many other things not related to the file x
>>x echo something more
La prima istanza del descrittore viene mantenuta fino alla seconda operazione?
E la shell che uso in un terminale? A volte tengo aperta una sessione per giorni, forse anche settimane. Mantiene ancora i descrittori per tutti i file su cui ho operato con i built-in della shell?