gnuplot にコマンドライン引数を渡すにはどうすればいいですか? 質問する

gnuplot にコマンドライン引数を渡すにはどうすればいいですか? 質問する

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

ベストアンサー1

スイッチを介して変数を入力できます-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ステートメントの前に実行されます。特に、 CLI 引数#!/usr/bin/env gnuplotを使用してshebang gnuplot を実行すると./foo.plg -e ...、提供された引数は無視されます。

おすすめ記事