!["" 스크립트를 찾는 동안 예기치 않은 파일 끝이 발생했습니다.](https://linux55.com/image/103872/%22%22%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%B0%BE%EB%8A%94%20%EB%8F%99%EC%95%88%20%EC%98%88%EA%B8%B0%EC%B9%98%20%EC%95%8A%EC%9D%80%20%ED%8C%8C%EC%9D%BC%20%EB%81%9D%EC%9D%B4%20%EB%B0%9C%EC%83%9D%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
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"
문자열 변수에 할당할 때 큰따옴표 쌍을 사용하고 구문을 사용하여 ${}
변수 이름을 명확하게 하는 것이 가장 좋습니다.