替代 UNIX 中的 uuencode shell 脚本(从 UNIX 邮箱发送电子邮件)

substitute for uuencode in UNIX shell scripting (to send an email from UNIX box)

我接到了一项自动化脚本的任务,为此我编写了一个脚本。此脚本需要来自数据中心和 AWS 的 运行。最后需要将结果压缩并发送给预期的收件人。

我已经使用 uuencode 在数据中心生成邮件,这 运行 在数据中心绝对没问题。但是,当我在 AWS 中 运行 时,出现错误 Syntax error: uuencode, not found.

在网上搜索后,我才知道这是因为 uuencode 没有安装在我的 AWS 机器上。哪个是正确的,我验证过。

我是编码新手,非常感谢任何帮助。我的问题是 AWS 是一台客户端机器,我们不应该在其中安装任何新东西。所以,安装 uuencode 对我来说不是一个选择。

谁能告诉我 uuencode 的替代命令。

这是我的 linux 版本:

Linux AWS 版本:3.8.13-55.1.2.el6uek.x86_64 #2 SMP Thu Dec 18 00:15:51 PST 2014 x86_64 x86_64 x86_64 GNU/Linux

Linux 数据中心版本:2.6.18-194.el5 #1 SMP 3 月 29 日星期一 22:10:29 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

这里是我写的一段代码:

f [ -s $WORKINGDIR/Report.zip ]
then

(echo "Hi,

 Please find attached, report for datacentre.

 Please let us know for further clarifications.


Thanks,
JordanForever ";uuencode $WORKINGDIR/Report.zip Report.zip;)| mailx -s "report for datacentre " $MAILLIST
else
(echo "script for datacentre failed.

        Script Details:

                Host: $HOSTNAME
                Path: $WORKINGDIR

";) | mailx -s "Failed: report for datacentre " $FAILURE_MAILLIST
fi

我已经尝试了 muttsendmail 命令,但这也没有帮助。

你们哪位能帮帮我吗?我不能 install/uninstall uuencode。任何替代命令都会有所帮助。

此致

如果您需要 uuencode 而您无法安装 uuencode,请考虑 python。在现代,python 无处不在,uuencode 是其标准模块之一的一部分。

要对 Report.zip 进行编码并将输出发送到标准输出,请尝试:

python -c 'import sys,uu; uu.encode("Report.zip", sys.stdout)'