Как отправить отформатированное почтовое тело Unix Script - PullRequest
0 голосов
/ 15 февраля 2012

Я хотел бы отформатировать содержимое почты перед отправкой. Ниже приведен мой код,

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.Как этого добиться?

Ответы [ 2 ]

2 голосов
/ 15 февраля 2012

Если вы решите использовать echo, то вы можете использовать переключатель -e, чтобы включить интерпретацию обратной косой черты, например, echo -e "Time: $TIMESTAMP_CMD\n\n$EMAIL_BODY". Вы можете обратиться к справочным страницам или этой ссылке для получения дополнительной информации. И как указывалось ранее, пожалуйста, избавьтесь от обратной черты (`), когда echo ing.
Надеюсь, это поможет!

2 голосов
/ 15 февраля 2012

Использование

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

Также вы используете обратную галочку в echo, которая вызывает shell. Но, похоже, $TIMESTAMP_CMD содержит команду оболочки. Итак, вы хотите что-то вроде этого,

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)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...