2

みんな!データファイルを生成し、それをファイルにプロットするスクリプトを 50 回実行する bash スクリプトの作成に問題があります。私はこのように書いたが、うまくいかない

#!/bin/bash
for i in {1..50}
do
    ./ampl ampltst1 # generates different res.txt file each time
    /usr/bin/gnuplot <<\__EOF
    set xrange [-2:2]
    set yrange [-2:2]
    set term png
    set output "image-${i}.png"
    plot "res.txt" u 1:2 w lines, "res.txt" u 3:4 w lines, "res.txt" u 5:6 w li$
    pause -1
    __EOF
done

このスクリプトを修正するのを手伝ってください!

4

1 に答える 1

3

インデントに問題がある可能性があり__EOFます: 先頭にスペースを入れないでください:

...
    /usr/bin/gnuplot <<\__EOF
    set xrange [-2:2]
    ...
__EOF
done

また、\記号は必要ありません。

HERE-IS-DOCUMENT のコンテンツもインデントされます。それはgnuplotでOKですか?

いいえの場合は、インデントを削除する必要があります:

for i in {1..50}
do
    ./ampl ampltst1 # generates different res.txt file each time
    /usr/bin/gnuplot <<__EOF
set xrange [-2:2]
set yrange [-2:2]
set term png
set output "image-${i}.png"
plot "res.txt" u 1:2 w lines, "res.txt" u 3:4 w lines, "res.txt" u 5:6 w li$
pause -1
__EOF
done
于 2013-05-13T11:41:18.100 に答える