我有一个当前执行的脚本:
cat $body | uuencode $attachment $attachment | sendmail $sender -t
我应该调整什么以便 $attachment 可以是多个附件?我想出了以下内容,但看起来不正确?
cat $body |
for i in $attachments
do
uuencode $i $i
done
| sendmail $sender -t
尝试以下脚本:
# specify list of email recipients
recipients=...
# specify envelope sender address
sender=...
(
cat $body
for i in $attachments
do
uuencode $i $i
done
) | sendmail -f$sender -i -- $recipients
$body
文件必须包含消息头(例如Subject:
),由消息正文中的空行分隔通常,您不希望在参数中存储文件名列表。使用 default IFS
,文件名中嵌入的空格会产生问题。相反,声明一个包含文件的数组
a=(file1 file2 file3 file4)
(for file in "${a[@]}"; do uuencode "$file" "$(basename "$file")"; done) |
sendmail $sender -t
FILES="/rollovers/DailyCadRpt.* /rollovers/DailyFireRpt.*"
(对于 $FILES 中的 f ;执行 uuencode "$f" "$f" ;完成) | 邮件 -s “主题”接收者_email@domain.com
以上在 AIX 6.1 中适用于通配符。但是,您必须使用 10-pad 星号。数字 8 上方的星号在 AIX 中不起作用。此外,这没有任何正文。但这与其他示例一样。您可以使用空格作为分隔符来添加更多文件,如我的示例所示。此外,您不能将 Daily* 与任一星号一起使用。AIX 就是不会这样做。星号必须出现在文件名中的句点之后。我们的报告将日期添加到报告名称中,并用句点分隔。它保留了我们的档案命名模式,并且每天都可以获取它,而不需要特定的文件名。