Bash脚本使用mailx来发送附件
-
27-10-2019 - |
题
我有一个bash脚本,可在postgres中运行查询,并将其输出到csv。我想添加到该脚本以使用mailx将.csv文件通过电子邮件发送到特定电子邮件。
我遇到的问题是它不会通过电子邮件发送文件。我可以收到电子邮件,所以我知道mailx设置正确。我只是无法通过电子邮件将其作为附件发送。它还可以在电子邮件正文中通过电子邮件发送输出。
这是代码。 通用标签
我尝试了以下mailx部分: 通用标签
和 通用标签
所以我遇到的问题是,当我运行.sh文件时,它会吐出此错误。 通用标签
解决方案
由您决定,但可以考虑使用ISO-8601格式YYYY-MM-DD(%Y-%m-%d
)。除其他优点外,它还可以很好地排序。
通用标签
这不会删除前两行,而只会删除第二行。将'2d'
更改为'1,2d'
(但请参见下文)。
请注意,这会修改文件。 通用标签
如果只给uuencode
一个文件名,它将从标准输入中读取并将该名称放入其输出中。您接下来的文字“我已经尝试过mailx的部分:” ...,表示您可能已经意识到了这一点-但除了片段以外,您没有向我们展示解决此问题的代码。
您收到的错误消息: 通用标签
不是如果文件不存在,通常会得到什么。我不知道是什么原因会导致这样的“未知系统错误”。
但是这里有一个替代方案,(a)有点恕我直言,并且(b)不需要uuencode
来尝试读取文件:
通用标签
其他提示
如果问题出在uuencode上...为什么您不能尝试mailx-也可以将文件附加到邮件的选项。 检查此链接以获取更多信息。
我有同样的问题。一个bash脚本,用于执行查询,保存csv文件并将其邮寄。在我的情况下,它给出了uuencode: fopen-ing /tmp/folder/file-01-11-2011.csv: Unknown system error
当我使用ksh shell执行脚本时,它运行良好,没有任何问题。这样-ksh script.sh
这只是另一个指针。如果uuencode给出错误,请尝试使用ksh执行;它可能为您工作。