用于使用 Gnuplot 绘制多个文件的 Bash 脚本

用于使用 Gnuplot 绘制多个文件的 Bash 脚本

我想绘制几个文件,只是执行一个调用 Gnuplot 的 bash 脚本。我对可能的 bash 脚本的想法是:

#!/bin/bash
gnuplot
plot 'my_first_file.dat' u 1:2
replot 'my_second_file.dat' u  1:2

让我们称之为 bash 脚本gnuplot_script.sh

当我通过执行此脚本时,$./gnuplot_script.sh 我只在终端中打开 gnuplot,而没有与脚本相关的绘图。

为了绘制数据,我应该在脚本中修改什么?这是我第一次接触 bash 脚本世界。

答案1

我假设这些行

plot 'my_first_file.dat' u 1:2
replot 'my_second_file.dat' u  1:2

指定命令的输入并不像您在脚本中尝试的那样起作用。

您可以将它们作为输入传递给gnuplot这里的文档”。

外壳脚本:

#!/bin/bash
gnuplot << EOF
plot 'my_first_file.dat' u 1:2
replot 'my_second_file.dat' u  1:2
EOF

或者,您可以将命令写入gnuplot单独的文件中,并将文件名作为命令行参数传递给gnuplot,例如gnuplot file.plot。 (该文件不需要命名.plot。)

gnuplot您还可以创建由shell解释的脚本。

#!/usr/bin/env gnuplot
plot 'my_first_file.dat' u 1:2
replot 'my_second_file.dat' u  1:2

使该脚本可执行并通过键入其名称来运行它,就像./script运行/path/to/scriptshell 脚本一样。 (看https://stackoverflow.com/q/15234086/10622916

相关内容