
我有一個腳本,可以透過電子郵件發送日誌檔案的文字作為電子郵件的正文。在該日誌檔案的文字行之間有一些空白行,以提高可讀性。
當我在腳本中使用以下行時,電子郵件可以正常發送並具有正確的格式:
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}
?