为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

3 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

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

$ gnuplot -e "filename='foo.data'" foo.plg

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

$ cat foo.plg plot filenamepause -1

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

if (!exists("filename")) filename='default.dat'plot filenamepause -1

请注意,-e必须在文件名之前,否则文件在-e语句之前运行。特别是,#!/usr/bin/env gnuplot使用./foo.plg -e ...CLI参数运行shebang gnuplot 将忽略使用提供的参数。


查看完整回答
反对 回复 2019-08-06
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

您还可以按照此处的建议通过环境传递信息。Ismail Amin的例子在这里重复:

在shell中:

export name=plot_data_file

在Gnuplot脚本中:

#! /usr/bin/gnuplotname=system("echo $name")set title nameplot name using ($16 * 8):20 with linespoints notitlepause -1


查看完整回答
反对 回复 2019-08-06
  • 3 回答
  • 0 关注
  • 1385 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信