12

After search it seems the ascii of EOF is -1,but how can I echo it out?

My purpose of doing this is to test whether it behaves the same as pressing ctrl-d if I just echo out EOF.

locale
  • 393

2 Answers2

11

There is no way to echo out an EOF. An EOF can only be generated either by reaching the end of a file or by invoking the keypress bound to the eof terminal setting (CtrlD by default) when the file being read is bound to the terminal.

10

In bash you could write exec 1>&- in order to close the file descriptor known as stdout.

As Ignacio already said, EOF is not a character, so the question how to "echo EOF" doesn't make any sense in the first place. You can echo characters (bytes) or you can close a file descriptor, but you can never echo an EOF.

lekro
  • 109