Come echeggiare un EOF in bash? [chiuso]


9

Dopo la ricerca sembra che sia l'ascii di EOF -1, ma come posso echofarlo?

Il mio scopo è quello di verificare se si comporta allo stesso modo di premere ctrl-dse sono appena echouscito EOF.

Risposte:


9

Non c'è modo di echeggiare un EOF. Un EOF può essere generato solo raggiungendo la fine di un file o invocando il tasto premuto associato eofall'impostazione del terminale ( CtrlDper impostazione predefinita) quando il file letto è associato al terminale.


non è EOFdefinito come -1in stdio.h? perché non riecheggiamo se conosciamo il suo valore ASCII?
locale

E allora. Un intcon il valore -1 (o 4294967295 se consideriamo la versione non firmata) non può comunque essere un carattere poiché i caratteri possono avere solo un valore compreso tra 0 e 255 inclusi.
Ignacio Vazquez-Abrams,

come fai a sapere che è intin primo luogo?
locale

5
Perché faccio cose come guardare la fgetc(3)pagina man.
Ignacio Vazquez-Abrams,

8

In bash potresti scrivere exec 1>&-per chiudere il descrittore di file noto come stdout.

Come già detto Ignacio, EOF non è un personaggio, quindi la domanda su come "fare eco a EOF" non ha alcun senso in primo luogo. È possibile eseguire l'eco dei caratteri (byte) o chiudere un descrittore di file, ma non è mai possibile eseguire l'eco di un EOF.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.