web-dev-qa-db-ja.com

sendmailがパイプされたbashサブシェルからのすべての出力を使用しない可能性はありますか?

(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オプションを指定して実行した場合)にはecho "c"の前にsendmailが表示されます。

Sendmailが散発的に失敗する理由をデバッグしようとしています。サブシェルとsendmailは並行して実行されるため、sendmailがサブシェル全体が終了するのを待たずに、echo bまで部分的な出力のみを使用し、不完全な電子メールの送信に進んで失敗する可能性はありますか? (ただし、stderrにはエラーメッセージはありませんが、一部の実行では、電子メールが受信トレイに不思議に表示されません)

詳細については、上記のエコーコマンドは単なるプレースホルダーです。実際には、この回答のようにメールを準備しようとしています https://stackoverflow.com/a/3335377/11521011 sendmail

1
dbza

sendmailのコマンドラインオプションで-iを使用していません。

これがないと、sendmailは「単一ドットのみの行」をメッセージの終わりとして扱います。

1
AnFi