在bash脚本中从数组设置Gnuplot的参数

时间:2014-05-06 19:53:27

标签: bash gnuplot

我正在尝试使用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数组中有多个字符串。 感谢

1 个答案:

答案 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'加载此内容。