【发布时间】:2016-04-06 13:44:43
【问题描述】:
在你回答之前,我不是在寻找 ; 的功能来抑制命令行打印。
我有一组不属于我的脚本,我无法更改。但是,在我的脚本中,我通过evalin('base', 'scriptName') 调用了这些其他脚本。不幸的是,这些其他脚本在我不想看到的命令窗口上做了很多不必要且丑陋的打印。由于无法编辑这些其他脚本,我想要一种在这些其他脚本执行期间禁止向命令行输出的方法。
一个可能的答案是使用evalc,但是当我尝试evalc(evalin('base', 'scriptName')) 时,MATLAB 会抛出一个错误,抱怨它无法将脚本作为函数执行。我希望能够禁用命令窗口打印或将所有输出重定向到某个空文件,就像 unix 中的/dev/null。
【问题讨论】:
-
脚本如何输出到命令窗口?缺少
;?disp?fprintf?为什么不能编辑脚本? -
他们一般使用
fprintf。我无法编辑脚本,因为它们不是我的,而且我无权访问它们。我只能运行它们。 -
你可以 overload
fprintf什么都不做,但这不是一个好的解决方案。你最好自己修复文件。您最好将这些脚本重构为函数,这样您就可以显式地向它们传递参数,而不是依赖evalin来正确运行。 -
@excaza 正如我所说,我没有编辑文件的权限。我只能运行它们。但是,您重载 fprintf 的解决方案虽然很糟糕,但却是我能找到的唯一有效的解决方案。如果你写一个答案,我会接受。
标签: matlab command-window