我正在尝试执行 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"
当分配给字符串变量时,最好只使用一对双引号,并使用语法${}
来消除变量名称的歧义。