这里文档给出“意外的文件结尾”错误

2023-12-03

我需要我的脚本从终端发送电子邮件。根据我在这里和网上许多其他地方看到的内容,我将其格式化如下:

/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 真的很陌生,所以我很难自己弄清楚它。有人可以提供任何帮助吗?


The EOFtoken 必须位于行的开头,您不能将其与它所附带的代码块一起缩进。

If you write <<-EOF you may indent it, but it must be indented with Tab characters, not spaces. So it still might not end up even with the block of code.

还要确保没有空格after the EOF令牌就行了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

这里文档给出“意外的文件结尾”错误 的相关文章

  • 通过 SMTP 发送带有保证 ID 的消息

    再会 抱歉提出这么 明确 的问题 让我解释一下 在我的 程序 中 我通过 例如 gmail SMTP 服务器发送一些电子邮件 假设我发送的每封电子邮件的标头中都包含一些唯一的 ID 由我生成 从 gmail 检索消息 例如 使用 pytho
  • 将 stdout 复制到 stderr

    我希望在 bash 下也将命令的标准输出复制到标准错误 就像是 echo FooBar FooBar FooBar 其中 是重定向表达式 那可能吗 将 tee 与 dev stderr 一起使用 echo FooBar tee dev st
  • 如何检查软件包是否已安装并在未安装时安装它?

    我正在 Ubuntu 系统上工作 目前这就是我正在做的事情 if which command gt dev null then echo e Command not found Install y n c read if REPLY y t
  • 如何仅列出 Bash 目录中的文件而不列出目录?

    如何列出一个文件夹的所有文件 但不列出其文件夹或子文件 换句话说 我怎样才能只列出文件 Using find find maxdepth 1 type f 使用 maxdepth 1选项确保您只在当前目录中查找 或者 如果您替换 与某个路径
  • 如何修改bash中函数内的全局变量?

    我正在处理这个 GNU bash version 4 1 2 1 release x86 64 redhat linux gnu 我有一个如下所示的脚本 bin bash e 2 function test1 e 4 echo hello
  • 通过 SSH 启动长时间运行的程序 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个运行 Ubuntu 的虚拟机 并且我可以通过 SSH 很好地连接到该虚拟机 我什至可以使用以下命令通过 SSH 启动我的 pyth
  • 如何启动预先填写“收件人”字段的电子邮件应用程序?

    我尝试了在这里找到的代码 Intent intent new Intent Intent ACTION SENDTO Uri fromParts mailto email protected cdn cgi l email protecti
  • 错误:分配关联数组时必须使用下标

    我想要 bash 中的哈希图等效项 键为string和价值观作为list的整数 所以 我写了下面的代码 declare A PUBS PUBS FEE 345 342 FOO 1 2 44 BAR 23 67 但是 我收到一条错误消息mus
  • 为什么这个脚本不改变目录

    好吧 简单的 bash 脚本问题 别笑 我的脚本只是更改目录 echo on echo running script CURRENT DIR cd pwd 我可以看到它在 echo 中更改目录 但是当它完成时 我的终端仍然位于同一目录 有小
  • Linux Bash - 日期格式

    我的日期格式是 yyyy mm dd hh mm ss 如何检查我的输入 它应该是这样的 bin bash read p Date format yy mm dd HH MM SS input check date Y m d H M S
  • 比较两个文件的各自字段并以特定格式输出所需的内容

    我正在比较两个文件 food1 txt 文件并比较 food2 txt 文件 如下所示 cat food1 txt pizza 1ea chicken 5ea tooboo 4ea orange 2ea cat food2 txt pizz
  • PHP 电子邮件提交表单接收者未收到正确的发件人电子邮件地址

    我正在为我的朋友解决提交表单的 PHP 代码的问题 它正在发送电子邮件 但问题是收件人收到一个非常奇怪的电子邮件地址 我附上一张图片以便仔细查看 我的 PHP 代码是
  • 通过多个换行符分割文件

    假设您有以下输入文件 Some text It may contain line breaks Some other part of the text Yet an other part of the text 并且您想要迭代每个文本部分
  • bash 中的 SIGINT 和进程替换

    我发现如果我有类似的东西 usr bin env bash function abort politely echo Aborting politely sleep 5 touch stop trap abort politely SIGI
  • Facebook 电子邮件始终通过 FQL 和 RestFB 返回 null

    我正在尝试将朋友页面转换为粉丝页面 大多数企业都错误地创建了朋友页面 并尝试向朋友列表中的每个人发送有关此举的电子邮件 我试过了 FQL 从用户中选择电子邮件 其中 uid xxxx 创建群组 不适合 5000 个朋友页面 Restfb C
  • $@ 中 args 的 bash 参数大小写

    我有一个带有一长串可选参数的脚本 有些具有相关的值 Such as script first 2012 12 25 last 2012 12 26 copy remove script first 2012 12 25 因此有以下案例陈述
  • SQLPlus 中的运行循环

    我制作了一个 bash 脚本 它通过 SQLPlus 连接到数据库并运行一个包含 For 循环的 SQL 脚本 如下所示 但是一旦运行它 它就会卡在循环的 BEGIN 中 如下所示 我尝试直接通过SQLPlus运行 结果是一样的 那么任何人
  • OS X bash:目录名

    我想创建一个简单的 bash 脚本来在 OS X 上启动 Java 程序 文件名 文件路径和直接工作文件夹都包含空格 当我这样做时 bin sh cd dirname 0 I get usage dirname path 我也尝试过在各种不
  • 如何在 shell 中解码 URL 编码的字符串?

    我有一个文件 其中包含已编码的用户代理列表 例如 Mozilla 2F5 0 20 28Macintosh 3B 20U 3B 20Intel 20Mac 20OS 20X 2010 6 3B 20en 我想要一个 shell 脚本 它可以
  • 使用环境变量将参数传递给命令

    我正在尝试编写一个 bash 脚本 该脚本采用环境变量并将其传递给命令 所以如果我有类似的东西 export OUT a arg1 b arg2 0 arg2 1 我想在我的 bash 脚本中执行以下操作

随机推荐