#!/bin/bash
MESSAGE="Line one. /n"
MESSAGE="$MESSAGE Line two. /n"
MESSAGE="$MESSAGE Line three."
echo $MESSAGE | mail -s "test" "example@example.com"
Это то, как я должен получить каждую строку на ее собственной строке?
Используйте heredoc .
mail -s "test" "example@example.com" << END_MAIL
Line one.
Line two.
Line three.
END_MAIL
Изменение:
echo $MESSAGE | mail -s "test" "example@example.com"
Кому:
echo -e $MESSAGE | mail -s "test" "example@example.com"
Совет heredoc хорош, плюс вы можете рассмотреть возможность использования mailx
, для которого существует стандарт Posix или, возможно, sendmail
, который будет существовать, если почтовый сервер - sendmail или postfix. (Я не уверен насчет qmail.)
Если не используется sendmail, также неплохо установить переменную MAILRC
в /dev/null
, чтобы обойти пользовательский сценарий конфигурации, если таковой имеется.