有条件的终端类型(或一般的'set'变量)/读'''变量?

时间:2013-11-06 10:26:19

标签: gnuplot

我有一系列gnuplot脚本,我使用OS X系统上的默认'qt'终端开发。这有一个方便的功能,即在脚本完成时关闭关闭qt窗口,所以我添加了:

pause mouse "mouse button 2 or 3 to close\n";

稍后在开发中我想输出到pdf,但现在暂停挂起我的命令行终端,直到我点击返回。我想这样做:

set terminal pdf
...
if (terminal eq qt) pause mouse "mouse button 2 or 3 to close\n";

但是这给了我:

第45行:未定义变量:终端

我现在有一个设置不同变量并从中设置终端的解决方法:

term = 'qt'
if (term eq 'pdf') set terminal pdf ; set output 'rToR.pdf'
...
if (term eq 'qt') pause mouse "mouse button 2 or 3 to close\n";

对于某些代码设计方面可能更好,但需要一层冗余,实际上并不是我想要做的。

因此,有没有办法/如何访问像'terminal'这样的gnuplot设置的值?

1 个答案:

答案 0 :(得分:1)

有关可用变量的列表,请参阅show variables all。在您的情况下,您需要GPVAL_TERM

if (GPVAL_TERM eq 'qt') { ... }

if (GPVAL_TERM eq 'pdfcairo') { ... }

通常使用set terminal pdfpdfcairo终端被选中,因此您需要字符串'pdfcairo'进行比较。