2016-09-29 6 views
0

장시간 시청자 처음 포스터.cat 변수로 파일을 쉘에 전달

유닉스 나 쉘을 전혀 모릅니다. 제가 작성한 Wordpress 사이트를 지원하기 위해 작성한 SQL 쿼리를 기반으로 몇 가지 알림을 만들려고합니다.

내 검색어를 기반으로 HTML 이메일을 보내고 싶습니다. 쿼리에서 다음과 같은 결과를 반환합니다.

+------------+---------------+----------+----------+ 
|display_name| user_email | value | type  | 
+------------+---------------+----------+----------+ 
| nick  | [email protected] | somedata | batch1 | 
| bob  | [email protected] | somedata | batch2 | 
+------------+---------------+----------+----------+ 

는 여기가 $의 DISPLAY_NAME 및 $ 값을 전달할 수 없습니다 제외하고 나는이 것을 모든 노력 차별화는 $ 형 변수에 따라 $의 emailTemplate를 변경할 필요가 내 코드

mysql -uUSER -pPASS DB -N < /path/to/file/batch.sql | while read user_email display_name value type ; do 

emailtemplate="/path/to/file/email.html" 
( 
echo "From: [email protected]" 
echo "To: $user_email" 
echo "MIME-Version: 1.0" 
echo "Subject: Test" 
echo "Content-Type: text/html" 
cat $emailtemplate 
) | /usr/sbin/sendmail -t 

sleep 5 

done 

입니다 변수를 html 파일에 추가하면 전자 메일에 $ display_name 및 $ value로 나타납니다.

도와주세요! 나는 그것이 정말로 사소한 것임을 압니다.

답변

0

알아 냈습니다. 변수가 인식되지 않으므로 고유 한 값으로 찾기/바꾸기가 작동합니다. 대신 그들은 변수로 대체 할 수 있도록이에 의해 템플릿에 %% DISPLAY_NAME %% 및 %% 값을 %%이 작품

cat $emailtemplate 

sed -e "s/%%display_name%%/$display_name/" -e "s/%%value%%/$value/" $emailtemplate