(GNU bash、バージョン 4.2.50(1)-リリース (powerpc-ibm-aix6.1.2.0))
(
echo "a"
echo "b"
echo "c"
)| sendmail -F "Sender" [email protected]
これは.shファイル内で実行され、ログ(-xオプションで実行されている場合)には古い sendmail
.shファイルが表示されますecho "c"
。
Sendmailが時々失敗する理由をデバッグしようとしています。サブシェルとsendmailが並列に実行されるため、sendmailはサブシェル全体が完了するのを待たずに不完全echo b
な電子メール転送を続行し、失敗するまで出力の一部のみを使用することは可能ですか? (stderrにはエラーメッセージはありませんが、一部の実行の場合、電子メールは私の受信トレイに奇妙に表示されません)
追加情報:上記のechoコマンドはプレースホルダーにすぎず、実際にこの回答に示すように電子メールを準備しようとしています。https://stackoverflow.com/a/3335377/11521011そしてそれをsendmailにパイプしてください
答え1
-i
のコマンドラインオプションを使用していませんsendmail
。
これがなければ、sendmail
「シングルポイントラインのみ」はメッセージの終わりと見なされます。