在UNIX shell脚本中替换uuencode(从UNIX框发送电子邮件)

时间:2016-06-30 21:43:50

标签: shell unix scripting uuencode

我已经完成了自动化脚本的任务,并且我已经为此编写了一个脚本。此脚本需要从数据中心和AWS运行。最后,结果需要压缩并发送给目标收件人。

我已经使用uuencode在数据中心生成邮件,这在数据中心运行得非常好。但是,当我在AWS中运行它时,我收到错误Syntax error: uuencode, not found

通过互联网搜索,我发现这种情况正在发生,因为我的AWS机器上没有安装uuencode。这是正确的,因为我验证了它。

我是编码的新手,任何帮助都会非常感激。我的问题是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 Mon Mar 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命令,但这也无济于事。

你们其中一个可以帮助我吗?我无法安装/卸载uuencode。任何替代命令都会有所帮助。

此致

1 个答案:

答案 0 :(得分:0)

如果您需要uuencode而无法安装uuencode,请考虑使用python。在现代,python安装在任何地方,uuencode是其标准模块之一。

要uuencode Report.zip并将输出发送到stdout,请尝试:

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