gnuplot、ここにあるドキュメントとコマンドライン引数

gnuplot、ここにあるドキュメントとコマンドライン引数

ここでドキュメントを使用してgnuplotスクリプトをgnuplotに渡し、コマンドライン引数をgnuplotに渡すことはできますか?

私のbashファイルには通常、次のように書きます。

#!/bin/bash
#set up code in here...
gnuplot -c script.gp $first $second

しかし、私はすべてをbashファイルに入れたかったので、そうしました。

#!/bin/bash
#set up code in here...
gnuplot -c <<- EOF
do for [j=0:ARG1] {
   do for [i=4:ARG2] {
      plot '${data}' index j using 2:i with lp
   }
}
EOF $first $second

warning: here-document at line 87 delimited by end-of-file (wantedしかし、悪名高いEOF ') ``エラーが発生しました。$data$firstおよびは$second以前にbashスクリプトで定義されています。

EOFに関係なく、次の行にコマンドライン引数を入れると、値関連コマンドが見つからないというエラーが発生します$first

ここの私のドキュメントでは、タブのインデントのみを使用します。後ろにスペースはありません。

答え1

解決策は次のとおりです。パラメータを削除して手動で交換します。

#!/bin/bash
#set up code in here...
gnuplot <<- EOF
do for [j=0:${first}] {
   do for [i=4:${second}] {
      plot '${data}' index j using 2:i with lp
   }
}
EOF

答え2

次のように試すことができます。

gnuplot -c /dev/stdin "$first" "$second" <<-EOF
do for [j=0:ARG1] {
   do for [i=4:ARG2] {
      plot '${data}' index j using 2:i with lp
   }
}
EOF

Gnuplotが文句を言う。

line 4: No previous filename

ただし、スクリプトファイルを使用すると同じエラーが発生するため、これは不完全なコードに関連している可能性があります。

関連情報