Scilab:告诉我们是否正在无头跑。 Scilab:检测-nw,-nogui

时间:2016-11-03 22:44:31

标签: makefile terminal automation scilab headless

Scilab真的可以实现自动化。 例如,您可以使用make自动启动Scilab,它将生成图并使用xs2svg将它们保存到SVG,然后启动Inkscape将其集成到Latex文档中(在图例中使用Latex代码!)。 / p>

使用make时,通过-nw调用Scilab可以方便地在没有主界面的情况下运行Scilab。如果您不需要图形,如果使用-nogui调用它甚至可以在没有Java的情况下运行。

能够编写可由用户或make运行的脚本会很好。这样可以防止代码重复,同时允许轻松调试和报告编写。 但这意味着:

  • 完成后关闭脚本
  • 能够跳过一些不应保存的情节

那么如何从脚本中检测选项-nw-nogui

1 个答案:

答案 0 :(得分:0)

使用getargs

function y = nowindows()
    y = (getenv("SCILAB_NW","undefined") ~= "undefined")
endfunction

然后你可以使用这个功能:

if nowindows() then
    mprintf("Running without a window.\n")
    exit()
end

如果你设置了environnement变量SCILAB_NW,nowindows()将返回true。

  

SCILAB_NW ="真" scilab -nw -f yourscript.sce

此解决方案为用于运行Scilab的命令添加了冗余,但我找不到其他方法。我也尝试使用sciargs函数,但我发现它不太方便。