繁体   English   中英

如何在gnu屏幕中切换CR / 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM