13

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
  • 373
  • 2
  • 4
  • 10

2 Answers2

12

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.

Ignacio Vazquez-Abrams
  • 45,019
  • 5
  • 78
  • 84
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
  • 2