2013-05-13 85 views
2

Hy guys! 我有編寫bash腳本運行50次我的腳本生成數據文件,然後將其繪製到文件的問題。 我寫了水木清華這樣的,但它不工作用gnuplot進行繪圖的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 

請幫我解決這個腳本!

+0

它是如何不工作?你有錯誤信息嗎?其他觀察。 – Thor 2013-05-13 11:30:00

+0

爲什麼暫停-1?它需要您按Enter鍵50次。 – user829755 2013-05-20 13:11:43

回答

3

也許你有壓痕問題:__EOF必須是不帶任何前導空格:

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

而且\不需要符號。

此處還將縮進這裏的內容。 gnuplot可以嗎?

如果沒有,則必須刪除縮進:

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