
로그 파일의 텍스트를 이메일 본문으로 이메일로 보내는 스크립트가 있습니다. 해당 로그 파일에는 가독성을 위해 텍스트 줄 사이에 빈 줄이 있습니다.
스크립트에서 다음 줄을 사용하면 이메일이 적절한 형식으로 잘 전송됩니다.
cat ${log}|mailx -s "Email Subject Line" ${i} < ${log}
하지만 이제 이메일에 여러 파일을 첨부하고 싶습니다. 나는 이 줄을 다음과 같이 수정했습니다.
( echo `cat ${log}` ; uuencode ${file1} ${file1a} ; uuencode ${file2} ${file2a} ; uuencode ${file3} ${file3a} ) | mailx -m -s "Email Subject Line" ${i}
${i}
두 줄 모두 이메일 수신자입니다 .
이제 이메일은 첨부 파일과 함께 잘 전송되지만 메시지 본문은 줄 바꿈이나 그 어떤 것도 없는 하나의 큰 텍스트 블록일 뿐입니다.
내가 mailx 행을 올바르게 작성하지 않았습니까? 메시지 본문에 서식을 유지하는 방법이 있나요?
답변1
명령줄에서 인용되지 않은 줄 바꿈은 공백으로 처리됩니다. 그렇기 때문에 다음과 같이 말할 수 있습니다.
명령 1 && 명령 2
글쎄요, 때때로 인용되지 않은 개행 문자는 세미콜론처럼 취급됩니다. 하지만, 당신이 말할 때
echo `cat ${log}`
로그 파일의 모든 줄 바꿈은 공백으로 변경됩니다. 다음과 같이 말하면 이 문제를 해결할 수 있습니다.
echo "`cat ${log}`"
하지만 그냥 말하지 않는 이유
cat ${log}
?