¿Cómo hacer eco de un EOF en bash? [cerrado]

9

Después de la búsqueda parece que el ascii de EOF es -1, pero ¿cómo puedo echohacerlo?

Mi propósito de hacer esto es probar si se comporta igual que presionar ctrl-dsi acabo de echosalir EOF.

lugar
fuente

Respuestas:

9

No hay forma de hacer eco de un EOF. Un EOF solo puede generarse alcanzando el final de un archivo o invocando la pulsación de tecla vinculada a la eofconfiguración del terminal ( CtrlDpor defecto) cuando el archivo que se está leyendo está vinculado al terminal.

Ignacio Vazquez-Abrams
fuente
no se EOFdefine como -1en stdio.h? ¿por qué no podemos repetirlo si conocemos su valor ascii?
locale
Y qué. Un intvalor con -1 (o 4294967295 si consideramos la versión sin signo) no puede ser un personaje de todos modos, ya que los caracteres solo pueden tener un valor de 0 a 255 inclusive.
Ignacio Vazquez-Abrams
¿Cómo sabes que es un inten primer lugar?
locale
55
Porque hago cosas como mirar la fgetc(3)página de manual.
Ignacio Vazquez-Abrams
8

En bash, podría escribir exec 1>&-para cerrar el descriptor de archivo conocido como stdout.

Como ya dijo Ignacio, EOF no es un personaje, por lo que la pregunta de cómo "hacer eco de EOF" no tiene ningún sentido en primer lugar. Puede hacer eco de caracteres (bytes) o puede cerrar un descriptor de archivo, pero nunca puede hacer eco de un EOF.

lekro
fuente