对“onlcr”stty 标志感到困惑

对“onlcr”stty 标志感到困惑

在里面stty 文档,提到了以下内容:

[-]icrnl 将回车符转换为换行符

[-]inlcr 将换行符转换为回车符

* [-]ocrnl 将回车符转换为换行符

* [-]onlcr 将换行符转换为回车换行符

icrnl请注意and中的“cr”如何表示“回车”,但inlcr在.ocrnlonlcr

这是一个拼写错误,还是这就是onlcr真正的工作原理(即它翻译\n\r\n)?

答案1

这不是错字,事实上就是这样POSIX 还说

onlcr (-onlcr)

在输出时将 NL 映射(不映射)到 CR-NL。这将具有在 termios c_oflag 字段中设置(不设置)ONLCR 的效果,如 XBD 通用终端接口中所定义。

该模式不称为“onlcrnl”的事实可能只是为了保持设置名称简短且一致(或至少一致简短)。

基本原理部分告诉我们,标准stty是从 System V 采用的,因此我假设也需要关心对旧系统的向后兼容性。

相关内容