防止在 MATLAB 中打印到命令行
Prevent printing to command line in MATLAB
在你回答之前,我不是在寻找 ;
抑制命令行打印的功能。
我有一套不属于我的脚本,我没有能力更改。但是,在我的脚本中,我通过 evalin('base', 'scriptName')
调用了这些其他脚本。不幸的是,这些其他脚本对我不想看到的命令 window 做了很多不必要和丑陋的打印。在无法编辑这些其他脚本的情况下,我想要一种方法来在这些其他脚本执行时抑制输出到命令行。
一个可能的答案是使用 evalc
,但是当我尝试 evalc(evalin('base', 'scriptName'))
时,MATLAB 抛出一个错误,抱怨它不能将脚本作为函数执行。我希望有类似禁用命令 window 打印或将所有输出重定向到某个空文件的功能,就像 unix 中的 /dev/null
一样。
你试过这个解决方案吗
here ?
echo off;
我不知道它是否符合您的需要,但另一种解决方案可以是打开一个新的 Matlab 会话,并只使用最小化的 -nodesktop
形式(-只需命令 window).您可以从那里 运行 烦人的脚本,并像往常一样在主会话中工作。
这里的问题是会话不能同步,所以如果你需要一直处理脚本的结果,它会有点复杂。也许你可以将结果保存到磁盘,而不是从主会话中调用它......
但这主要取决于您使用这些脚本的工作流程。
我认为您只需要将 evalc
示例中的参数转换为字符串即可:
evalc('evalin(''base'', ''scriptName'')');
在你回答之前,我不是在寻找 ;
抑制命令行打印的功能。
我有一套不属于我的脚本,我没有能力更改。但是,在我的脚本中,我通过 evalin('base', 'scriptName')
调用了这些其他脚本。不幸的是,这些其他脚本对我不想看到的命令 window 做了很多不必要和丑陋的打印。在无法编辑这些其他脚本的情况下,我想要一种方法来在这些其他脚本执行时抑制输出到命令行。
一个可能的答案是使用 evalc
,但是当我尝试 evalc(evalin('base', 'scriptName'))
时,MATLAB 抛出一个错误,抱怨它不能将脚本作为函数执行。我希望有类似禁用命令 window 打印或将所有输出重定向到某个空文件的功能,就像 unix 中的 /dev/null
一样。
你试过这个解决方案吗 here ?
echo off;
我不知道它是否符合您的需要,但另一种解决方案可以是打开一个新的 Matlab 会话,并只使用最小化的 -nodesktop
形式(-只需命令 window).您可以从那里 运行 烦人的脚本,并像往常一样在主会话中工作。
这里的问题是会话不能同步,所以如果你需要一直处理脚本的结果,它会有点复杂。也许你可以将结果保存到磁盘,而不是从主会话中调用它...... 但这主要取决于您使用这些脚本的工作流程。
我认为您只需要将 evalc
示例中的参数转换为字符串即可:
evalc('evalin(''base'', ''scriptName'')');