从the question on SO about command line parameters to gnuplot scripts跟进,及其相应的答案,我看到我可以制作一个myscript.gp脚本
if(!exist("parameters")) parameters=""
plot "< myprog ".parameters u 1:2
并用
调用它$ gnuplot -e "parameters='-m 5'" myscript.gp
但是,当以myscript2.gp作为
以交互模式运行时,我可以获得类似的结果parameters="$0"
plot "< myprog ".parameters u 1:2
并从交互式提示中调用它
gnuplot> call "myscript2.gp" "-m 5"
现在问题。正如我所看到的那样,这两种方法没有连接,当批量运行时,$ O会失败,而使用call时,'parameters'不会更新。
如何设置可以从gnuplot交互命令行的shell命令行 AS WELL AS 调用的脚本?另一种问题是,是否可以测试脚本调用的条件是什么?
谢谢,
答案 0 :(得分:0)
在游戏中,我找到了一个相当不优雅的解决方案,但这有助于实现我想要的目标。
parameters="" # sets default value
if ("$#" eq sprintf("%d",1)) parameters="$0" # if using call with 1 parameter: $#=1
if (exist("bpar")) parameters=bpar # checking for batch call
plot "< myprog ".parameters u 1:2
然后可以通过调用
$ gnuplot -e "bpar='-m 5'" myscript.gp
或
gnuplot> call "myscript2.gp" "-m 5"