O que significa "na entrada" e "na saída" em opções como ICRNL e OCRNL?

O que significa "na entrada" e "na saída" em opções como ICRNL e OCRNL?

A documentação para termiosdiz algo assim:

ICRNL

Traduza o retorno de carro para nova linha na entrada (a menos que IGNCR esteja definido).

OCRNL

Mapeie CR para NL na saída.

Mas o que significa exatamente “na entrada” e “na saída”? Isto é o que eu penso:

  • "on input" significa quando o terminal envia algo para o dispositivo tty.
  • "na saída" significa quando bash(ou qualquer outro processo) envia algo para o dispositivo tty.

Estou correcto?

Responder1

Você precisa pensar nisso em termos de um "terminal burro" (como um vt100) conectado a uma porta serial do computador e observá-lo da perspectiva do computador.

Portanto, “entrada” para o computador é quando o terminal envia dados para o computador; por exemplo, quando você digita no teclado.

Da mesma forma, “saída” é quando o computador envia coisas para o terminal; por exemplo, quando imprime algo na tela.

Com uma configuração mais moderna (por exemplo, um console Linux) ainda temos os mesmos conceitos; "input" é o que é digitado no teclado, "output" é o que é exibido na tela.

Isso corresponde às convenções padrão de "stdin" e "stdout".

Responder2

Isso está correto, na medida em quetermiosvai, pois se preocupa apenas com a comunicação entre o terminal (um dispositivo para exibir caracteres combinado com um dispositivo para inserir caracteres) e o computador host.

Que"sobre"pode parecer estranho, mas é apenas uma forma resumida de dizer "no processo de entrada" ou "no processo de produção".

informação relacionada