如何以编程方式获取当前gnuplot脚本的名称?我知道我可以从bash调用gnuplot脚本并获得它的文件名,但是我想知道是否有可能从gnuplot内部调用它。我的目标是做这样的事情:
date=system("date +%F_%T | sed 's/:/-/g'")
my_name=$0 # THIS IS HOW TO DO IT IN BASH
set term png
set output my_name.date.".png"我试过:
my_name=system("cat /proc/$$/cmdline")但是它返回sh而不是脚本名。
发布于 2015-05-19 01:41:08
你的问题没有完全得到回答,但这可能有助于你想要做的事情:
您可以在脚本中保留未设置的my_name,并在加载脚本之前将其设置在gnuplot中(无论如何,您需要知道脚本名称):
my_name=...
load(my_name)或者在从shell调用gnuplot时设置它:
$ gnuplot -e "my_name=${FILE}" ${FILE}还有几件事:
date=system("date +%F_%T | sed 's/:/-/g'")可以用
date=system("date +%F_%H-%M-%S")(它更短,不需要通过sed解析)或根本没有任何分叉:
date=strftime("%F_%H-%M-%S",time(0.0))发布于 2015-05-19 06:39:57
使用gnuplot 5,您可以通过变量load访问使用ARG0调用的文件。
考虑一下脚本test.gp,它只包含
print ARG0现在,用
gnuplot -e "load 'test.gp'"在屏幕上打印test.gp。在早期版本中,您无法访问类似的变量(在使用call时也不能)。对于早期版本,您必须坚持@chw21 21给出的解决方案之一。
https://stackoverflow.com/questions/30314902
复制相似问题