發送附件時如何使用 mailx 保持正文中的換行符號?

發送附件時如何使用 mailx 保持正文中的換行符號?

我有一個腳本,可以透過電子郵件發送日誌檔案的文字作為電子郵件的正文。在該日誌檔案的文字行之間有一些空白行,以提高可讀性。

當我在腳本中使用以下行時,電子郵件可以正常發送並具有正確的格式:

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}

相關內容