Mailx

Unix命令發送具有來自變數的主題的郵件

  • August 15, 2019

我們創建了一個用於發送郵件的 UNIX 程序。在該程序中,我們根據使用者輸入(通過 Oracle 並發程序)獲取郵件主題和正文

例如:

並發程序的完整使用者輸入儲存在$1變數中,如下所示:

XX_EMAIL_FILES FCP_REQID=9614696 FCP_LOGIN="APPS/sup12" \
FCP_USERID=5667 \
FCP_USERNAME="SRI" \
FCP_PRINTER="noprint" \
FCP_SAVE_OUT=Y \
FCP_NUM_COPIES=1 \
"9614556_SUP12_XX_Workflow_Stuck_AP_Invoices.csv" \
"/tmp_mnt2/attachments" \
"Sri.B@xx.com" \
"This is the subject for the mail" \
"PFA for the list of Invoices that are stuck in workflow."

在這裡,郵件的主題是***This is the subject for the mail我們儲存在變數中SUB的,郵件的正文是PFA for the list of Invoices that are stuck in workflow.我們儲存在另一個變數中的FCP_BODY*。

現在,我寫如下發送郵件

echo "Hello,
${FCP_BODY}
Thanks,
Bommi
"| mailx -s $SUB

但是,在我收到的郵件中,正文是正常來的,但主題是剛剛來的***This***。

誰能幫助我如何獲取完整的主題以發送郵件?

您需要引用變數$SUB

... mailx -s "$SUB"

解釋:包含空格的變數將要進行分詞。也就是說,如果你有命令

mailx -s $SUB

並且變數$SUB包含字元串*"This is the subject for the mail"*

上一個命令擴展為

mailx -s This is the subject for the mail

-s標誌(主題)僅獲取參數*This*,其餘單詞作為其他參數傳遞,並且(在大多數情況下)像垃圾一樣處理。

反而,

mailx -s "$SUB"

擴展為

mailx -s "This is the subject for the mail"

這就是你想要的。


相關問題和答案:

引用自:https://unix.stackexchange.com/questions/535544