为了账号安全,请及时绑定邮箱和手机立即绑定

这里-文档给出了“文件的意外结束”错误

这里-文档给出了“文件的意外结束”错误

扬帆大鱼 2019-07-03 10:15:15
这里-文档给出了“文件的意外结束”错误我需要我的脚本从终端发送电子邮件。根据我在网上看到的和其他许多地方,我把它格式化如下:/var/mail -s "$SUBJECT" "$EMAIL" << EOF Here's a line of my message! And here's another line! Last line of the message here! EOF然而,当我运行这个程序时,我会收到这样的警告:myfile.sh: line x: warning: here-document at line y delimited by end-of-file (wanted 'EOF') myfile.sh: line x+1: syntax error: unexpected end of file.其中x行是程序中最后编写的代码行,y行是/var/mail在里面。我试过替换EOF其他事情(ENDOFMESSAGE, FINISH等等)但没有结果。我在网上找到的几乎所有东西都是这样做的,而且我在bash是个新手,所以我很难自己弄清楚。有人能帮忙吗?
查看完整描述

3 回答

?
qq_笑_17

TA贡献1818条经验 获得超7个赞

这个EOF令牌必须位于行的开头,不能将其与代码块一起缩进。

如果你写<<-EOF你可以缩进它,但它必须是缩进的。附签字符不是空格。因此,即使使用代码块,它也可能不会结束。

还要确保没有空格。这个EOF电话线上有记号。


查看完整回答
反对 回复 2019-07-03
?
MM们

TA贡献1886条经验 获得超2个赞

请尝试删除前面的空格。EOF:-

/var/mail -s "$SUBJECT" "$EMAIL" <<-EOF

使用<tab>而不是<spaces>对于ident和使用<-EOF很好。

这个"-"移除<tabs>,不是<spaces>但至少这是可行的。


查看完整回答
反对 回复 2019-07-03
  • 3 回答
  • 0 关注
  • 665 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信