Nach der Suche scheint es das ASCII von EOF zu sein -1
, aber wie kann ich echo
es herausfinden?
Mein Zweck dabei ist es zu testen, ob es sich genauso verhält wie Drücken, ctrl-d
wenn ich gerade echo
raus bin EOF
.
Es gibt keine Möglichkeit, einen EOF wiederzugeben. Ein EOF kann nur generiert werden, indem entweder das Ende einer Datei erreicht wird oder indem der auf die eof
Terminaleinstellung gebundene Tastendruck ( CtrlDstandardmäßig) aufgerufen wird, wenn die zu lesende Datei an das Terminal gebunden ist.
EOF
wie-1
in stdio.h definiert ? Warum kann ich es nicht wiedergeben, wenn wir seinen ASCII-Wert kennen?int
mit dem Wert -1 (oder 4294967295, wenn wir die vorzeichenlose Version berücksichtigen) kann ohnehin kein Zeichen sein, da Zeichen nur einen Wert von 0 bis einschließlich 255 haben können.int
?fgetc(3)
Manpage anschaue .In bash können Sie schreiben
exec 1>&-
, um den als stdout bekannten Dateideskriptor zu schließen.Wie Ignacio bereits sagte, ist EOF kein Charakter, daher macht die Frage, wie man "EOF" wiedergibt, überhaupt keinen Sinn. Sie können Zeichen (Bytes) wiedergeben oder einen Dateideskriptor schließen, aber niemals einen EOF wiedergeben.
quelle