(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
"단일 포인트 라인만"은 메시지의 끝으로 간주됩니다.