로그 파일의 텍스트를 이메일 본문으로 이메일로 보내는 스크립트가 있습니다. 이 로그 파일에는 가독성을 높이기 위해 텍스트 줄 사이에 빈 줄이 있습니다.
스크립트에서 다음 줄을 사용하면 이메일이 제대로 전송되고 올바른 형식을 갖습니다.
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}
?