在Octave中,我可以取消或隐藏在行尾添加分号的指令输出:
octave:1> exp([0 1])
ans = [ 1.0000 2.7183 ]
octave:2> exp([0 1]);
octave:3>
现在,如果函数在返回值之前显示文本(例如使用
disp()
或print()
),该如何抑制输出?换句话说,我希望能够做到这一点:disp("Starting...");
% hide text the may get displayed after this point
% ...
% show all text again after this point
disp("Done!");
最佳答案
您可以修改PAGER
变量(现在是一个函数)以重定向标准输出。在Unix系统上,您可以将其重定向到/dev/null
。在Windows上,我尝试仅重定向到不执行任何操作且效果良好的Python程序。 (基本上,任何忽略输入的程序都可以)
PAGER('/dev/null');
page_screen_output(1);
page_output_immediately(1);
完成后,您只需将其更改回即可。也许将整个过程封装在一个函数中。
oldpager = PAGER('/dev/null');
oldpso = page_screen_output(1);
oldpoi = page_output_immediately(1);
% Call function here
PAGER(oldpager);
page_screen_output(oldpso);
page_output_immediately(oldpoi);
您也可以简单地非交互式地运行脚本,然后正常重定向输出。
octave script.m > /dev/null
关于command-line - 如何抑制以 Octave 为单位的命令输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8260619/