"" 스크립트를 찾는 동안 예기치 않은 파일 끝이 발생했습니다.

"" 스크립트를 찾는 동안 예기치 않은 파일 끝이 발생했습니다.

Bash 스크립트를 실행하려고 하는데 예상치 못한 EOF와 함께 '일치 항목 찾기 '''' 오류가 발생합니다. 내가 어디서 망쳤는지 모르겠어요.

이 스크립트는 .md 파일을 로거에 항목으로 삽입하도록 설계되었습니다. 로거는 다음 CLI 코드를 사용하여 각 .md 파일을 삽입합니다: 'dayone2 -d="YYYY-MM-DD TT:TT" new < "filename". 따라서 스크립트는 파일 이름 자체에서 날짜를 추출하고 위와 같이 프로그램을 실행합니다.

#!/bin/bash
#
# October 11, 2015 - John Raymonds
#
for file in *.md
do
# do something on "$file"
year="$(echo "$file" | cut -c 13,14,15,16)"
day="$(echo "$file" | cut -c 18,19)"
month="$(echo "$file" | cut -c 21,22)"
theDate=\"$year"-"$month"-"$day" 12:00PM"\"
#The date should end up in this format "2017-01-24 12:00PM"

/usr/local/bin/dayone2 -d="$theDate" new < "$file"

rm "$file"
done

코드에 어떤 문제가 있나요?

답변1

위의 인용문 theDate은 틀렸습니다. 그것은해야한다:

theDate="${year}-${month}-${day} 12:00PM"

문자열 변수에 할당할 때 큰따옴표 쌍을 사용하고 구문을 사용하여 ${}변수 이름을 명확하게 하는 것이 가장 좋습니다.

관련 정보