每次当我在命令行上完成运行 matlab 代码集合时,当我退出 matlab 时,标准输出就会变得混乱。我仍然可以使用终端窗口,但是我输入的任何内容都不会显示在屏幕上,这让我要么瞎了眼打字,要么打开一个新终端并过度cd
使用旧位置。
当我使用运行 matlab 集合时,每次都会发生这种情况make
,并且由于我在这方面做了很多工作,结果证明它非常烦人。有谁知道这里有什么问题,我应该如何解决?
正如评论中指出的那样,makescript 可能会将“坏”字符转储到终端。您可以通过重定向输出来防止这种情况(但可能会丢失有用的信息)——而不是将其发送到终端窗口,您可以将其发送到文件,甚至/dev/null
(“天空中的大比特桶”)。
然而,潜在的问题是您的 makefile 甚至首先将这些字符发送到终端。我建议您将输出通过管道传输到具有类似 的文件make > myDump.txt
,然后检查生成的文件以查看发生了什么,以及在您的 makefile 中的哪个位置创建了问题。当您这样做时,您可能仍会获得一些输出 - 这是因为默认情况下仅>
重定向stdout
,而不是stderr
- 用于错误消息的第二个输出流。您可以将两者都重定向到带有make 2>&1 myDump.txt
.
您已经看到了stty sane
用于恢复终端状态的建议——我在这里重复一遍,以防有人只看答案,而不是评论;但我不相信它:-)。