Estoy corriendo en una sesión bash interactiva. He creado algunos descriptores de archivos, usando exec, y me gustaría enumerar cuál es el estado actual de mi sesión de bash.
¿Hay alguna forma de enumerar los descriptores de archivos actualmente abiertos?
Respuesta aceptada:
Sí, esto enumerará todos los descriptores de archivos abiertos:
$ ls -la /proc/$$/fd
total 0
dr-x------ 2 isaac isaac 0 Dec 28 00:56 .
dr-xr-xr-x 9 isaac isaac 0 Dec 28 00:56 ..
lrwx------ 1 isaac isaac 64 Dec 28 00:56 0 -> /dev/pts/6
lrwx------ 1 isaac isaac 64 Dec 28 00:56 1 -> /dev/pts/6
lrwx------ 1 isaac isaac 64 Dec 28 00:56 2 -> /dev/pts/6
lrwx------ 1 isaac isaac 64 Dec 28 00:56 255 -> /dev/pts/6
l-wx------ 1 isaac isaac 64 Dec 28 00:56 4 -> /home/isaac/testfile.txt
Por supuesto, como siempre:0 es stdin, 1 es stdout y 2 es stderr.
El 4º es un archivo abierto (para escribir) en este caso.