Comment faire écho à un EOF en bash? [fermé]


9

Après la recherche, il semble que l'ascii de l'EOF soit -1, mais comment echole sortir?

Mon but est de tester si cela se comporte de la même manière que d'appuyer ctrl-dsi je viens de echosortir EOF.

Réponses:


9

Il n'y a aucun moyen de reproduire un EOF. Un EOF ne peut être généré qu'en atteignant la fin d'un fichier ou en appelant la pression de touche liée au eofparamètre du terminal ( CtrlDpar défaut) lorsque le fichier en cours de lecture est lié au terminal.


n'est pas EOFdéfini comme -1dans stdio.h? pourquoi ne peut-il pas l'écho si nous connaissons sa valeur ascii?
locale

Et alors. Un intavec la valeur -1 (ou 4294967295 si nous considérons la version non signée) ne peut de toute façon pas être un caractère car les caractères ne peuvent avoir qu'une valeur de 0 à 255 inclus.
Ignacio Vazquez-Abrams le

comment savez-vous que c'est un inten premier lieu?
locale

5
Parce que je fais des choses comme regarder la fgetc(3)page de manuel.
Ignacio Vazquez-Abrams le

8

En bash, vous pouvez écrire exec 1>&-afin de fermer le descripteur de fichier appelé stdout.

Comme Ignacio l'a déjà dit, EOF n'est pas un personnage, donc la question de savoir comment "faire écho à EOF" n'a aucun sens en premier lieu. Vous pouvez faire écho à des caractères (octets) ou fermer un descripteur de fichier, mais vous ne pouvez jamais faire écho à un EOF.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.