mail
件名に他のコマンドの出力を付けて、コマンドでメールを送信してみます
subj="hello from $(hostname -s) $(date)"
echo "data" | mail -s $subj mail@mail
しかし、件名 ( ) の最初の部分しか取得できませんhello from
。
なぜ?
次のように、件名を引用する必要があります。
echo "data" | mail -s "$subj" mail@mail
引用しないと、mail
プログラムは件名がどこで終わるかを認識できず、最初の「単語」 ( hello
) を件名として、その他すべてをアドレスとして取得します。
一般に、常に変数をクォートすることをお勧めします。
/youScriptOrOutput.sh | mail -s "ホスト $(ホスト名 -s) $(日付) からの件名" my@email.com