EOF 阻止我的脚本?

EOF 阻止我的脚本?

我有这个脚本(它实际上是一个更大脚本的片段)。

#!/bin/sh

 if [ $actualsize -ge $MAXSIZE ]; then
  read dummy FILEPOINT <<EOF
  `dd if=myfile skip=8001 count=1 bs=1|od -x`
  EOF
 fi

当我运行它时,我得到

./bugged.sh: 9: Syntax error: end of file unexpected (expecting "fi")

显然,问题出在“EOF”上。为什么会发生这种情况以及如何实现相同的结果(从我的文件中读取)?

答案1

要么停止缩进EOF,要么更早使用<<-EOF并使用制表符缩进。

答案2

Ignacio 解释了您收到的错误,但您可能希望简化代码并首先避免使用此处的文档,例如:

filepoint=$(od -An -j 8001 -N 1 -t x1 < myfile)

相关内容