2

我尝试使用命令发送邮件,mail主题中包含其他命令的输出

subj="hello from $(hostname -s) $(date)" 
echo "data" | mail -s $subj mail@mail

但我只得到主题的第一部分(hello from)。

为什么?

4

2 回答 2

7

您需要引用您的主题,如下所示:

echo "data" | mail -s "$subj" mail@mail

如果您不引用它,mail程序将不知道您的主题在哪里结束,并将第一个“单词”(hello)作为主题,并将其他所有内容作为地址。

一般来说,最好总是引用你的变量。

于 2012-09-17T13:40:39.303 回答
0

/youScriptOrOutput.sh | mail -s "来自主机的主题 $(hostname -s) $(date)" my@email.com

于 2014-01-16T17:00:12.020 回答