首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将命令行参数传递给gnuplot?

如何将命令行参数传递给gnuplot?
EN

Stack Overflow用户
提问于 2018-03-30 05:52:00
回答 2查看 0关注 0票数 0

我想用gnuplot从数据文件中绘制图形,比如foo.data。目前,我在命令文件中对数据文件名称进行了硬编码,如foo.plt,并运行命令gnuplot foo.plg以绘制数据。但是,我想将数据文件名作为命令参数传递,例如运行命令gnuplot foo.plg foo.data。如何解析gnuplot脚本文件中的命令行参数?谢谢。

EN

回答 2

Stack Overflow用户

发布于 2018-03-30 14:20:43

您可以通过开关输入变量 -e

代码语言:javascript
复制
$ gnuplot -e "filename='foo.data'" foo.plg

在foo.plg中,您可以使用该变量

代码语言:javascript
复制
$ cat foo.plg 
plot filename
pause -1

要使“foo.plg”更具通用性,请使用条件:

代码语言:javascript
复制
if (!exists("filename")) filename='default.dat'
plot filename
pause -1
票数 0
EN

Stack Overflow用户

发布于 2018-03-30 15:02:08

您可以使用标志将参数从版本5.0传递到gnuplot脚本-c。这些参数是通过变量访问ARG0ARG9ARG0作为脚本,并ARG1ARG9字符串变量。参数个数由下式给出ARGC

例如,以下脚本(“script.gp”)

代码语言:javascript
复制
#!/usr/local/bin/gnuplot --persist

THIRD=ARG3
print "script name        : ", ARG0
print "first argument     : ", ARG1
print "third argument     : ", THIRD 
print "number of arguments: ", ARGC 

可以称为:

代码语言:javascript
复制
$ gnuplot -c script.gp one two three four five
script name        : script.gp
first argument     : one
third argument     : three
number of arguments: 5

或者在gnuplot内

代码语言:javascript
复制
gnuplot> call 'script.gp' one two three four five
script name        : script.gp
first argument     : one
third argument     : three
number of arguments: 5

在gnuplot 4.6.6及更早版本中,存在一种call具有不同(现在已被弃用)语法的机制。该参数通过访问$#$0,... $9。例如,上面的脚本看起来像这样:

代码语言:javascript
复制
#!/usr/bin/gnuplot --persist

THIRD="$2"
print "first argument     : ", "$0"
print "second argument    : ", "$1"
print "third argument     : ", THIRD
print "number of arguments: ", "$#"

它在gnuplot内被调用为(记住,版本<4.6.6)

代码语言:javascript
复制
gnuplot> call 'script4.gp' one two three four five
first argument     : one
second argument    : two
third argument     : three
number of arguments: 5

注意脚本名没有变量,$0第一个参数也是这样,变量在引号内被调用。没有办法直接从命令行使用它,只能通过@ con-fu-se建议的技巧来使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档