Scilab:判断我们是否 运行 无头。 Scilab:检测-nw,-nogui
Scilab: tell if we are running headless. Scilab: detect -nw, -nogui
Scilab 真的可以自动化。
例如,您可以使用 make
自动启动 Scilab,它将生成绘图并使用 xs2svg
将它们保存到 SVG,然后启动 Inkscape 将其集成到 Latex 文档中(图例中有 Latex 代码!)。
当使用make
时,通过-nw
调用没有主界面的Scilab很方便运行。如果你不需要图形,如果用 -nogui
.
调用,它甚至可以 运行 没有 java
如果能够编写可以由用户 运行 或 make
. 编写的脚本,那么您可以防止代码重复,同时允许轻松调试和编写报告。
但这意味着:
- 完成后关闭脚本
- 可以跳过一些不应该保存的情节
- 等等
那么如何从脚本中检测选项 -nw
或 -nogui
?
使用getargs
function y = nowindows()
y = (getenv("SCILAB_NW","undefined") ~= "undefined")
endfunction
那么你可以使用这个功能:
if nowindows() then
mprintf("Running without a window.\n")
exit()
end
如果您设置环境变量 SCILAB_NW,nowwindows() 将 return 为真。
SCILAB_NW="true" scilab -nw -f yourscript.sce
此解决方案为用于 运行 Scilab 的命令增加了冗余,但我没有找到其他方法。我也尝试使用 sciargs
功能,但我发现它不太方便。
Scilab 真的可以自动化。
例如,您可以使用 make
自动启动 Scilab,它将生成绘图并使用 xs2svg
将它们保存到 SVG,然后启动 Inkscape 将其集成到 Latex 文档中(图例中有 Latex 代码!)。
当使用make
时,通过-nw
调用没有主界面的Scilab很方便运行。如果你不需要图形,如果用 -nogui
.
如果能够编写可以由用户 运行 或 make
. 编写的脚本,那么您可以防止代码重复,同时允许轻松调试和编写报告。
但这意味着:
- 完成后关闭脚本
- 可以跳过一些不应该保存的情节
- 等等
那么如何从脚本中检测选项 -nw
或 -nogui
?
使用getargs
function y = nowindows()
y = (getenv("SCILAB_NW","undefined") ~= "undefined")
endfunction
那么你可以使用这个功能:
if nowindows() then
mprintf("Running without a window.\n")
exit()
end
如果您设置环境变量 SCILAB_NW,nowwindows() 将 return 为真。
SCILAB_NW="true" scilab -nw -f yourscript.sce
此解决方案为用于 运行 Scilab 的命令增加了冗余,但我没有找到其他方法。我也尝试使用 sciargs
功能,但我发现它不太方便。