1. ホーム
  2. command-line

[解決済み] gnuplot にコマンドライン引数を渡すには?

2022-04-28 19:40:59

質問

gnuplot を使って、データファイルから図を描きたいのですが、例えば foo.data . 現在、私はコマンドファイルの中でデータファイル名をハードコードしています。 foo.plt を実行し、コマンド gnuplot foo.plg を使用してデータをプロットします。しかし、データファイル名をコマンドの引数として渡したい、例えば、コマンド gnuplot foo.plg foo.data . gnuplot スクリプトファイル内でコマンドライン引数を解析するにはどうしたらいいですか?ありがとうございます。

解決方法は?

スイッチで変数を入力することができます。 -e

$ gnuplot -e "filename='foo.data'" foo.plg

foo.plgでは、この変数を使用することができます。

$ cat foo.plg 
plot filename
pause -1

"foo.plg"をもう少し汎用的にするために、条件指定を使います。

if (!exists("filename")) filename='default.dat'
plot filename
pause -1

なお -e はファイル名の前になければなりません。 -e 特に、shebang gnuplot を実行すると #!/usr/bin/env gnuplot をもって ./foo.plg -e ... CLI の引数は、提供された引数を無視して使用します。