我想在发送之前格式化邮件内容,下面是我的代码,
echo "Time: `$TIMESTAMP_CMD\n\n$EMAIL_BODY" | mail -s "$EMAIL_SUBJECT" ${EMAIL_DIST}
TIMESTAMP_CMD
,EMAIL_BODY
,EMAIL_SUBJECT
和EMAIL_DIST
是在此代码上方定义的变量。
在这里,我需要TIMESTAMP_CMD和EMAIL_BODY之间的换行符。怎么实现呢?
答案 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
时摆脱反引号(`)
希望这有帮助!