查找“”脚本时出现意外的文件结尾

查找“”脚本时出现意外的文件结尾

我正在尝试执行 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"

当分配给字符串变量时,最好只使用一对双引号,并使用语法${}来消除变量名称的歧义。

相关内容