我们创建了一个用于发送邮件的 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" \
"[email protected]" \
"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
:解释:包含空格的变量将要进行分词。也就是说,如果你有命令
并且变量
$SUB
包含字符串"This is the subject for the mail"
上一个命令扩展为
即
-s
标志(主题)仅获取参数This
,其余单词作为其他参数传递,并且(在大多数情况下)像垃圾一样处理。反而,
扩展为
这就是你想要的。
相关问题和答案: