2015-12-05 2 views
1

Я пытаюсь создать граф в GNUPLOT с помощью Bash. Насколько я понимаю, мой следующий код должен вводить следующие строки в команду gnuplot, пока не достигнет EOF. Затем я отправляю строки «set» и «plot» в gnuplot и следую за ним с помощью EOF, который должен заканчивать ввод в команду gnuplot.Неожиданный EOF?

for FILE in ./tempFolder*.done; do 
    gnuplot <<EOF 
    set datafile separator "," 
    set xlabel "Hour" 
    set ylabel "Temperature" 
    set term png 
    set output "${FILE}.png" 
    plot "${FILE}" using 1:3 with errorbars title "Temperature/Time" 
    EOF 
done 

Однако, я получаю следующее сообщение об ошибке: «Ошибка синтаксиса: конец файла неожиданного (ожидается„сделано“)»

Когда я печатаю попробовать это в Bash вне сценария, кажется, работать должным образом. У кого-нибудь есть какие-то указания относительно того, что я делаю неправильно?

ответ

1

Вы не можете отступать от закрытия EOF; он должен быть в начале линии.

Если вы используете <<-EOF вместо <<EOF, оболочка будет раздеться всем ведущим язычками из каждой строки здесь документа, в том числе закрытия EOF.

+0

Большое спасибо! Это сделал трюк! –

+0

@CarriePiazza Пожалуйста, примите ответ, если решение сработало для вас. Благодарю. – Christoph