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

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

TIMESTAMP_CMDEMAIL_BODYEMAIL_SUBJECTEMAIL_DIST是在此代码上方定义的变量。
这里,我需要在timestamp_cmd和email_body之间换行。如何实现?

最佳答案

使用

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

此外,您还可以在echo中使用一个反勾号来调用shell。但它似乎包含一个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)"

关于linux - 如何发送格式化的邮件正文Unix脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9289385/

10-12 14:50
查看更多