我想在发送之前格式化邮件内容,下面是我的代码,
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之间换行。如何实现?
最佳答案
使用
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/