为什么matlab导致终端std崩溃,我该如何解决?

One*_*ero 2 shell terminal matlab stdout

每当我在命令行上运行matlab代码集合时,当我退出matlab时,标准输出就会变得混乱.我仍然可以使用终端窗口,但无论我输入的内容都不会出现在屏幕上,让我无论是盲目打字,还是打开一个新的终端并过度cd使用旧的地方.

当我make用来运行matlab集合时,每次都会发生这种情况,因为我在这方面做了很多工作,结果非常烦人.有谁知道这里的问题是什么,我该如何解决?

Flo*_*ris 5

正如评论中指出的那样,makecript可能会向终端倾倒"坏"字符.您可以通过重定向输出来防止这种情况(但可能丢失有用的信息) - 而不是将其发送到终端窗口,您可以将其发送到文件,甚至/dev/null("天空中的大桶").

然而,根本问题是你的makefile甚至首先将这些字符发送到终端.我建议您将输出管道传输到类似的文件make > myDump.txt,然后检查生成的文件以查看发生了什么,以及makefile中创建问题的位置.执行此操作时,您可能仍会获得一些输出 - 这是因为默认情况下仅>重定向stdout,而不是stderr- 用于错误消息的第二个输出流.您可以将两者重定向到文件make 2>&1 myDump.txt.

您已经看到了stty sane用于恢复终端状态的建议- 我在这里重复它,以防有人只查看答案,而不是评论; 但我不赞成它:-).