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シェルによって解釈されるスクリプトを生成することもできます。

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

スクリプトを実行可能にし、シェルスクリプト./scriptと同様に名前を入力して実行します。/path/to/script(望むよりhttps://stackoverflow.com/q/15234086/10622916)

関連情報