2012-09-14 2 views
2

mailx의 명령에 maillist 공통 평가 방법 : 아래 maillist하는나는 아래와 같이 CC의 maillist 준비한

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

그리고를 : 내 스크립트가 mailx를 호출하는 ab.sh입니다

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

명령을 입력하고 이메일을 보냅니다. 그러면 ID가 계속 유지되는 cc_list으로 이메일이 전송되고 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> 

출력 :

불균형 "이 없다는 발생되는 오류가 있습니다. 누구든지이 솔루션을 얻는 데 도움을 줄 수 있습니까?

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

여기에있는 백틱의 에코는 변수를 스크립트에 전달하는 끔찍하게 복잡하고 복잡한 방식입니다. – tripleee

답변

1

변수는 두 번 목록으로 확대 피하기 위해 인용해야합니다. 모든 것을 정확하게 붙여 넣었습니까?
어쨌든 즉각적인 문제는 변수 보간을 인용해야한다는 것입니다. 왜 이런 변수가 필요한지는 명확하지 않습니다. 다음은 스크립트를 훨씬 단순화 한 리팩토링입니다.

#!/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

Thanq 너무 많은 도움과 그 일에 지금은 ... :) –

3

내가 그 오류 메시지가 표시되지 않습니다

+0

Thanq 너무 많은 도움과 그 일을 지금 ... :) –

관련 문제