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)

관련 정보