図を生成するのに必要なコマンドを全てファイルに書いてしまえば,gnuplot を起動せずにシェルから直接に図を生成することもできる.
例えば,以下のようなファイル sin.sh を作成する.
#!/bin/bash gnuplot <<EOF set terminal pngcairo set output 'sin.png' set xrange [-pi:pi] set yrange [-1:1] plot sin(x) EOF
ここで EOF は end of file (Oはアルファベットの大文字のオー). 実行許可を出して,実行する.
$ chmod u+x sin.sh $ ./sin.sh
正しく実行されれば sin.png という名前のファイルが生成する.
$ display sin.png
1行目はシェルスクリプト のおまじない.
2行目の gnuplot <<EOF でgnuplot が呼び出されて,次に EOF が出てくるまでの範囲が gnuplot によって実行される. EOF行までの間に空行を入れてはいけない.
using を使って演算をおこなうときは,シェルスクリプトの変数と混同されないようにする必要がある. 具体的には,$ の前に \ (バックスラッシュ)をつける.
#!/bin/bash gnuplot <<EOF set terminal pngcairo set output 'xy.png' plot 'data.txt' using 1:(\$1+\$2) EOF
#上の例ではバックスラッシュが円マークになっているかもしれない.円マークになっている場合は,バックスラッシュに読み替えてください.
前にバックスラッシュがついてない $ はシェルの変数と解釈される.
#!/bin/bash a=1 b=2 gnuplot <<EOF set terminal pngcairo set output 'xy.png' plot ${a}*x+${b} EOF