Como se describe aquí , las redirecciones se usan open()
para escribir en un archivo. Hay un descriptor de archivo interno (?) Creado en el shell, y luego se usa cuando es necesario.
¿Se ha creado el descriptor interno para toda la duración del script o la vida útil del shell? ¿Se destruye después de algún tiempo, una serie de operaciones, etc.?
Me refiero en particular a los descriptores de archivos para los archivos que el shell mismo abre para sus operaciones integradas. ¿Se crea el descriptor y se abre el archivo para cada operación? ¿Cuánto tiempo se guardan? Ejemplo:
#!/bin/bash
>>x echo something
...do many other things not related to the file x
>>x echo something more
¿Se mantiene la primera instancia del descriptor hasta la segunda operación?
¿Qué pasa con el shell que uso en una terminal? A veces mantengo una sesión abierta durante días, tal vez incluso semanas. ¿Sigue conservando los descriptores de todos los archivos que operé con shell incorporado?
fuente