Mailx
Unix命令發送具有來自變數的主題的郵件
我們創建了一個用於發送郵件的 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"
這就是你想要的。
相關問題和答案: