3

我准备了一个抄送邮件列表,如下所示:

/appl/tracker/TEST> more abc.maillist
xyz@yahoo.com, a123@gmail.com, abc@xyz.com

和一个如下的邮件列表:

/appl/tracker/TEST> more Servicedesk.maillist
123@gmail.com

我的脚本ab.sh将调用mailx命令并发送电子邮件。这应该发送电子邮件以cc_list将 id 保存在 cc 中,to_list并将列表中提供的 id 放入列表中。

/appl/tracker/TEST> more ab.sh
#!/bin/ksh
l_date=`date +%d%m%y`
CC_LIST=`cat /appl/tracker/TEST/abc.maillist`
TO_LIST=`cat /appl/tracker/TEST/Servicedesk.maillist`
MY_Q="'"

cc_list="$MY_Q$CC_LIST$MY_Q"

echo $cc_list

BODYFILE='Please find attached file having my details.Test mail'

echo $CC_LIST
echo $TO_LIST

mailx -s 'HI'  -c $cc_list $TO_LIST <<-EOF
`echo $BODYFILE`
EOF

/appl/tracker/TEST>

输出:

发生错误,指出存在不平衡的". 谁能帮我解决这个问题。

4

2 回答 2

4

我没有收到该错误消息。您确定您已正确粘贴所有内容吗?
无论如何,一个直接的问题是您需要引用任何变量插值。除此之外,还不清楚为什么你需要变量。这是对脚本的简化得多的重构。

#!/bin/sh

CC_LIST=`cat /appl/tracker/TEST/abc.maillist`
TO_LIST=`cat /appl/tracker/TEST/Servicedesk.maillist`

BODYFILE='Please find attached file having my details. Test mail'

echo "$CC_LIST"
echo "$TO_LIST"

echo "$BODYFILE" | mailx -s 'HI' -c "$CC_LIST" "$TO_LIST"
于 2012-09-14T07:58:36.953 回答
1

变量必须双引号以避免扩展为列表:

mailx -s 'HI'  -c "$cc_list" "$TO_LIST" <<-EOF
$BODYFILE
EOF 
于 2012-09-14T07:58:12.617 回答