我正在尝试使用bash脚本和绘图数据从配置文件加载Gnuplot的参数。这个问题的关键是访问这些参数。这是我尝试解决的问题,但是发生了一些错误。
gnuplot << EOF
values="${params[*]}"
do for [val in values] {
val=sprinf("%s", j)
set $val
}
我得到了这个输出:
gnuplot> do for [j in values] {
^
line 0: invalid complex constant
line 0: undefined variable: j
gnuplot> set
^
line 0: Unrecognized option. See 'help set'.
gnuplot> }
^
line 0: invalid character }
我确定,我在params数组中有多个字符串。 感谢
答案 0 :(得分:0)
你的gnuplot版本太旧了。仅从版本4.6开始支持迭代结构do for
。
然后,以下工作正常:
#!/bin/bash
params[0]='grid'
params[1]='xrange[0:10]'
gnuplot -persist << EOF
values="${params[*]}"
do for [val in values] {
eval('set '.val)
}
plot x
EOF
但这仅适用,如果数组条目不包含任何空格。通常,您将使用内容
创建配置文件set grid
set xrange [0:10]
并使用load 'config.gp'
加载此内容。