的文档是termios
这样说的:
ICRNL
输入时将回车符转换为换行符(除非设置了 IGNCR)。
奥克伦国家实验室
在输出上将 CR 映射到 NL。
但“输入时”和“输出时”到底是什么意思呢?我是这样认为的:
- “输入时”表示终端向 tty 设备发送某些内容。
- “输出时”是指当
bash
(或任何其他进程)向 tty 设备发送某些内容时。
我对么?
答案1
您需要将其视为连接到计算机上的串行端口的“哑终端”(例如vt100),并从计算机的角度来看待它。
所以“输入”到计算机就是终端向计算机发送数据;例如,当您在键盘上打字时。
类似地,“输出”是指计算机将内容发送到终端;例如,当它在屏幕上打印一些内容时。
通过更现代的设置(例如 Linux 控制台),我们仍然拥有相同的概念; “输入”是在键盘上输入的内容,“输出”是在屏幕上显示的内容。
这符合“stdin”和“stdout”的标准约定。
答案2
这是正确的,就特尔米奥斯因为它只涉及终端(显示字符的设备与输入字符的设备相结合的设备)和主机之间的通信。
那“在”可能看起来很尴尬,但这只是“在进行输入的过程中”或“在进行输出的过程中”的简短表达方式。