bash mail:主题中的命令输出

时间:2012-09-17 13:38:01

标签: bash email

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

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

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

为什么?

2 个答案:

答案 0 :(得分:7)

你需要引用你的主题,如下:

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

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

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

答案 1 :(得分:0)

/youScriptOrOutput.sh | mail -s“来自主机的主题$(hostname -s)$(日期)”my@email.com