![](/img/trans.png)
[英]How to convert Windows end of line in Unix end of line (CR/LF to LF)
[英]How to toggle CR/LF in gnu screen?
我正在使用屏幕从串行控制台读取文本。 问题是输出似乎只有换行符\\ n而不是回车符\\ r \\ n,所以显示看起来像这样......
Line1
Line2
Line3
我想知道是否有任何补丁来解决这个问题?
onlcr
是用于翻译øutgoingÑEW 升分级表至c arriageřeturns。
stty -F /dev/ttyS0 inlcr
会将传入的换行符转换为回车符。 您可以在启动屏幕后从另一个终端运行该程序,以避免在启动时屏幕可能会重置。 不幸的是,这只会改变问题。 然后,您将只获得退货并且没有新行。
我们需要的是一个选项,可以将返回附加到传入换行符,以便终端接收\\n\\r
,这是串行设备首先应该输出的内容。 似乎有一个onlret
选项可以为传出数据执行此操作,但没有inlret
选项,因为在这种情况下我们似乎需要。
我有完全相同的问题(虽然使用picocom),我一直在谷歌上搜索并试图找到标准修复,但似乎没有人。 有许多串行设备只输出\\n
而且根本无法输出\\r\\n
而且我拒绝相信所有这些设备只属于两个linux用户。 是什么赋予了!?
如果你使用pyserial附带的miniterm.py程序,它会将换行解释为crlf。 它不是功能最全面的终端仿真器,但是为了与简单的串行设备进行交互,它可以完成工作。
用法语法(在OSX上):
miniterm.py /dev/tty.usbserial-XXXXXX 115200
将XXXXXX替换为系统中出现的任何设备。
在我的案例中工作: stty -F /dev/ttyACM0 -icrnl
因为序列被隐式设置为将CR转换为NL。 此命令将其设置回来。 注意icrnl
之前的icrnl
。
尝试stty onlcr
。
手册页说它会将换行符转换为回车符/换行符换行符,这似乎就是你需要的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.