脚本命令 - 额外的空间和返回添加到长输入

时间:2017-11-11 04:00:08

标签: bash macos

我正在创建一个基于浏览器的应用程序,用于与我的本地终端交互,我在终端中使用script命令(实际上是在Java进程中)来输入和捕获输出以显示在浏览器。

我发现script进程内的虚拟终端默认有80列,当输入行超过该数量时,我看到意外行为。当它达到长度限制时,它会添加一个空格,然后返回一个空格,然后继续该行。例如,如果我输入以下内容:

user_name ~/my/current/directory$ ls /some/really/long/path/to/some/directory/somewhere

以下是实际转录的内容(并转发到我的浏览器应用):

user_name ~/my/current/directory$ ls /some/really/long/path/to/some/directory/so ^Mmewhere

请注意so ^Mmewhere而不是somewhere

当我在此之后点击up箭头以检索最后一个输入时,我得到了不同的结果:

user_name ~/my/current/directory$ ls /some/really/long/path/to/some/directory/som^Mmewhere

这一次,它不是额外的空格字符,而是重复m:som^Mmewhere

这里发生了什么?是script命令真的是为人类读者生成文本输出,因此有利于可视化格式而不是可执行性?是否有script的替代方案可以更好地用于我的目的?

修改

我应该提到我在macOS Sierra中这样做。不确定这是否有所作为。

0 个答案:

没有答案