【问题标题】:Set parameters of Gnuplot from array in bash script从 bash 脚本中的数组设置 Gnuplot 的参数
【发布时间】:2014-05-06 19:53:26
【问题描述】:

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

【问题讨论】:

  • 更新:我也试过“set val”。
  • 是否有任何理由这样做并且没有配置文件并使用load 'config.gp'加载它?
  • 是的,这是我的任务,我有配置文件的结构(用于 Gnuplot 和其他东西),我正在创建一个脚本来处理这个文件。实际上,这不是我的代码,我在 stackexchange 找到了它,但它对我来说很有意义,所以我使用了它。

标签: bash gnuplot


【解决方案1】:

您的 gnuplot 版本太旧。迭代结构do for 仅从版本 4.6 开始支持。

然后,以下工作正常:

#!/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' 加载它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    • 2013-08-02
    • 2014-07-09
    • 2021-11-04
    • 2015-03-30
    相关资源
    最近更新 更多