如何发送格式化邮件正文Unix脚本

时间:2012-02-15 07:22:47

标签: linux email shell unix

我想在发送之前格式化邮件内容,下面是我的代码,

echo "Time: `$TIMESTAMP_CMD\n\n$EMAIL_BODY" | mail -s "$EMAIL_SUBJECT" ${EMAIL_DIST}

TIMESTAMP_CMDEMAIL_BODYEMAIL_SUBJECTEMAIL_DIST是在此代码上方定义的变量。

在这里,我需要TIMESTAMP_CMD和EMAIL_BODY之间的换行符。怎么实现呢?

2 个答案:

答案 0 :(得分:2)

使用

printf "Time: $TIMESTAMP_CMD\n\n$EMAIL_BODY" 

此外,您在调用echo的{​​{1}}中使用反斜杠。但似乎shell持有shell命令。所以你想要这样的东西,

$TIMESTAMP_CMD

答案 1 :(得分:2)

如果您选择使用echo,那么您可以使用-e开关来启用类似echo -e "Time: $TIMESTAMP_CMD\n\n$EMAIL_BODY"的反斜杠转义的解释。您可以参考手册页或此link以获取更多信息。如前所述,请在echo时摆脱反引号(`) 希望这有帮助!