Gnuplot 以终端类型为条件(或通常为';设置';变量)/读取';设置';变量

Gnuplot 以终端类型为条件(或通常为';设置';变量)/读取';设置';变量,gnuplot,Gnuplot,我有一系列gnuplot脚本,这些脚本是我在OS X系统上使用默认的“qt”终端开发的。这具有在脚本完成时关闭qt窗口的方便功能,因此我添加了: pause mouse "mouse button 2 or 3 to close\n"; 在以后的开发中,我想输出到pdf,但是现在暂停会挂起我的命令行终端,直到我点击return。我想做: set terminal pdf ... if (terminal eq qt) pause mouse "mouse button 2 or 3 to cl

我有一系列gnuplot脚本,这些脚本是我在OS X系统上使用默认的“qt”终端开发的。这具有在脚本完成时关闭qt窗口的方便功能,因此我添加了:

pause mouse "mouse button 2 or 3 to close\n";
在以后的开发中,我想输出到pdf,但是现在暂停会挂起我的命令行终端,直到我点击return。我想做:

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";
对于某些代码设计方面来说,这可能更好,但需要一层冗余,而这并不是我真正想要做的


因此,是否有方法/如何访问gnuplot设置(如“终端”)的值?

有关可用变量的列表,请参见
显示所有变量。在您的情况下,您需要
GPVAL\u术语

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

if (GPVAL_TERM eq 'pdfcairo') { ... }
使用
set terminal pdf
通常会选择
pdfcairo
终端,因此需要字符串
'pdfcairo'
进行比较