A documentação para termios
diz 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".