2012-09-14 35 views
2

我準備瞭如下抄送郵件列表:如何立方厘米的mailx命令一個郵件列表,

/appl/tracker/TEST> more abc.maillist 
[email protected], [email protected], [email protected] 

和A到下面的郵件列表:

/appl/tracker/TEST> more Servicedesk.maillist 
[email protected] 

我的腳本是ab.sh這將調用mailx命令併發送電子郵件。這應該發送電子郵件到cc_list,保持身份證的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> 

輸出:

有發生被指出存在不平衡"錯誤。 任何人都可以請幫我解決這個問題。

+0

這裏的文檔中反引號的回聲是一種將變量傳遞給腳本的非常複雜和令人費解的方式。 – tripleee

回答

1

變量必須是雙引號括起來,以避免擴大爲列表:

mailx -s 'HI' -c "$cc_list" "$TO_LIST" <<-EOF 
$BODYFILE 
EOF 
+0

坦克如此多的幫助和它的工作現在... :) –

3

我沒有得到錯誤信息。你確定你粘貼了一切嗎?
無論如何,一個直接的問題是你需要引用任何變量插值。目前還不清楚爲什麼你需要變量,除此之外。這是一個簡化的腳本重構。

#!/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" 
+0

坦克如此多的幫助和它的工作現在... :) –