在里面stty
文档,提到了以下内容:
[-]icrnl 将回车符转换为换行符
[-]inlcr 将换行符转换为回车符
* [-]ocrnl 将回车符转换为换行符
* [-]onlcr 将换行符转换为回车换行符
icrnl
请注意and中的“cr”如何表示“回车”,但inlcr
在.ocrnl
onlcr
这是一个拼写错误,还是这就是onlcr
真正的工作原理(即它翻译\n
为\r\n
)?
答案1
这不是错字,事实上就是这样POSIX 还说:
onlcr (-onlcr)
在输出时将 NL 映射(不映射)到 CR-NL。这将具有在 termios c_oflag 字段中设置(不设置)ONLCR 的效果,如 XBD 通用终端接口中所定义。
该模式不称为“onlcrnl”的事实可能只是为了保持设置名称简短且一致(或至少一致简短)。
基本原理部分告诉我们,标准stty
是从 System V 采用的,因此我假设也需要关心对旧系统的向后兼容性。