繁体   English   中英

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

[英]How to Send formatted mail body Unix Script

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

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

TIMESTAMP_CMDEMAIL_BODYEMAIL_SUBJECTEMAIL_DIST是在此代码上EMAIL_DIST的变量。

在这里,我需要在TIMESTAMP_CMD和EMAIL_BODY之间换行。 如何实现呢?

采用

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

另外,您在echo使用反引号,它会调用shell 但是似乎$TIMESTAMP_CMD拥有一个shell命令。 所以你想要这样的东西,

printf "Time: `$TIMESTAMP_CMD`\n\n$EMAIL_BODY" 
# or
printf "Time: $($TIMESTAMP_CMD)\n\n$EMAIL_BODY" 
# or
printf "Time: %s\n\n$EMAIL_BODY" "$($TIMESTAMP_CMD)"

如果选择使用echo则可以使用-e开关启用反斜杠转义的解释,例如echo -e "Time: $TIMESTAMP_CMD\\n\\n$EMAIL_BODY" 您可以参考手册页或此链接以获取更多信息。 并且如前所述,在echo时,请消除反引号(`)。
希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM