sendmail이 bash 하위 쉘에 연결된 모든 출력을 소비하지 않는 것이 가능합니까?

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 옵션으로 실행 시)에는 sendmail이전 .sh 파일이 표시됩니다 echo "c".

Sendmail이 가끔 실패하는 이유를 디버깅하려고 합니다. 하위 쉘과 sendmail이 병렬로 실행되기 때문에 sendmail이 전체 ​​하위 쉘이 완료될 때까지 기다리지 않고 echo b불완전한 전자 메일 전송을 계속하다가 실패할 때까지 출력의 일부만 사용하는 것이 가능합니까 ? (stderr에는 오류 메시지가 없지만 일부 실행의 경우 이메일이 내 받은 편지함에 이상하게 표시되지 않습니다)

추가 내용: 위에서 작성한 echo 명령은 단지 자리 표시자일 뿐이며 실제로 이 답변에 표시된 대로 이메일을 준비하려고 합니다.https://stackoverflow.com/a/3335377/11521011그리고 그것을 sendmail로 파이프하세요

답변1

-i의 명령줄 옵션을 사용하지 않았습니다 sendmail.

이것이 없으면 sendmail"단일 포인트 라인만"은 메시지의 끝으로 간주됩니다.

관련 정보