#!/bin/bash
MESSAGE="Line one. /n"
MESSAGE="$MESSAGE Line two. /n"
MESSAGE="$MESSAGE Line three."
echo $MESSAGE | mail -s "test" "example@example.com"
这是我应该如何获得每一行,在它自己的路线上?
答案 0 :(得分:14)
使用heredoc。
mail -s "test" "example@example.com" << END_MAIL
Line one.
Line two.
Line three.
END_MAIL
答案 1 :(得分:8)
变化:
echo $MESSAGE | mail -s "test" "example@example.com"
要:
echo -e $MESSAGE | mail -s "test" "example@example.com"
答案 2 :(得分:2)
heredoc建议很好,另外你可能想考虑使用mailx
,如果邮件是sendmail或postfix,那么存在Posix标准或sendmail
。 (我不确定qmail。)
除非使用sendmail,否则将MAILRC
变量设置为/dev/null
以绕过用户的配置脚本(如果有)也是个好主意。