猿问

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

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

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



缥缈止盈
浏览 1469回答 3
3回答

Qyouu

您可以通过开关输入变量 -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 将忽略使用提供的参数。

人到中年有点甜

您还可以按照此处的建议通过环境传递信息。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
随时随地看视频慕课网APP
我要回答