来自bash脚本的电子邮件

Jim*_*Jim 6 bash

#!/bin/bash
MESSAGE="Line one. /n"

MESSAGE="$MESSAGE Line two. /n"
MESSAGE="$MESSAGE Line three."

echo $MESSAGE | mail -s "test" "example@example.com"
Run Code Online (Sandbox Code Playgroud)

这是我应该如何获得每条线,在它自己的线上?

Mat*_*hen 14

使用heredoc.

mail -s "test" "example@example.com" << END_MAIL
Line one.
Line two.
Line three.
END_MAIL
Run Code Online (Sandbox Code Playgroud)

  • 如果引用第一个分隔符(此处为"END_MAIL"),它将阻止参数扩展,命令替换等,这可能是合乎需要的. (3认同)

Jim*_*Jim 8

更改:

echo $MESSAGE | mail -s "test" "example@example.com"
Run Code Online (Sandbox Code Playgroud)

至:

echo -e $MESSAGE | mail -s "test" "example@example.com"
Run Code Online (Sandbox Code Playgroud)