メールを送信して表示する方法

メールを送信して表示する方法

出力が電子メールで送信され監視(監視)されるスクリプトを実行しようとしていますが、次のコードを使用しようとしています。

    this are the output: >emailmessage
    echo "output here" >>emailmessage
    /bin/mail -s "$SUBJECT" "$EMAIL" < $emailmessage

結果を含む電子メールが送信されますが、私の端末には表示されません。現在、echo "email sent!"スクリプトの実行が完了したことを知らせるためにこれを使用しています。どのように出荷して表示することができますか?

答え1

スクリプトが制御端末を使用して実行されていると仮定すると(どこかで出力を見ることができます)、次の行を追加します。

/bin/mail -s "$SUBJECT" "$EMAIL" < $emailmessage
cat $emailmessage

答え2

echo "To: $EMAIL"
echo "Subject: $SUBJECT"
echo ""
echo "$emailmessage" | tee >(/bin/mail -s "$SUBJECT" "$EMAIL")
echo "sent!"

これはプロセス置換を使用するため、bashまたはkshを使用していると仮定します(または同様のシェルのマニュアルページを確認してください)。

関連情報