我有这个脚本(它实际上是一个更大脚本的片段)。
#!/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)