How to echo a EOF in bash? [closed]
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
.
Solution 1:
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.
Solution 2:
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.