【问题标题】:Unexpected EOF?意外的EOF?
【发布时间】:2015-12-05 22:38:30
【问题描述】:

我一直在尝试使用 Bash 在 GNUPLOT 中创建图表。据我了解,我的以下代码应将以下行输入 gnuplot 命令,直到它到达 EOF。然后我将“set”行和“plot”行发送到 gnuplot 并用 EOF 跟进,这应该结束 gnuplot 命令的输入。

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 中键入 try this 时,它似乎工作正常。有人对我做错了什么有任何指示吗?

【问题讨论】:

    标签: bash loops gnuplot eof


    【解决方案1】:

    你不能缩进结束EOF;它必须在行首。

    如果您使用&lt;&lt;-EOF 而不是&lt;&lt;EOF,shell 将从此处文档的每一行中删除所有前导制表符,包括结束EOF

    【讨论】:

    • @CarriePiazza 如果解决方案对您有用,请接受答案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 2013-01-29
    相关资源
    最近更新 更多