Como ecoar um EOF no bash? [fechadas]


9

Após a pesquisa, parece que o ascii do EOF é -1, mas como posso echodescobrir isso?

Meu objetivo é testar se ele se comporta da mesma forma que pressionar ctrl-dse eu echosair EOF.

Respostas:


9

Não há como ecoar um EOF. Um EOF só pode ser gerado atingindo o final de um arquivo ou invocando o pressionamento de tecla associado à eofconfiguração do terminal ( CtrlDpor padrão) quando o arquivo que está sendo lido está vinculado ao terminal.


não está EOFdefinido como -1em stdio.h? por que não podemos repetir se conhecemos seu valor ascii?
localidade

E daí. Um intcom o valor de -1 (ou 4294967295 se considerarmos a versão não assinada) não pode ser um caractere de qualquer maneira, pois os caracteres podem ter apenas um valor de 0 a 255, inclusive.
Ignacio Vazquez-Abrams

como você sabe que é um intem primeiro lugar?
localidade

5
Porque eu faço coisas como olhar para a fgetc(3)página de manual.
Ignacio Vazquez-Abrams

8

No bash, você pode escrever exec 1>&-para fechar o descritor de arquivo conhecido como stdout.

Como Ignacio já disse, EOF não é um personagem, então a questão de como "ecoar EOF" não faz nenhum sentido em primeiro lugar. Você pode repetir caracteres (bytes) ou fechar um descritor de arquivo, mas nunca repetir um EOF.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.