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