2016-09-29 59 views
0

長時間查看器第一次海報。將shell變量傳遞到文件中,由貓讀取

我根本不知道unix或shell,我只是試圖根據我寫的SQL查詢創建一些通知來支持我已經構建的Wordpress網站。

我想發送基於我的查詢的HTML電子郵件。 查詢返回類似於;

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

這裏是我的代碼

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 

我需要基於$類型變量除此之外,這是所有工作改變$的emailTemplate,但我不能通過$ DISPLAY_NAME和$值變量到html文件,它只是在電子郵件中顯示爲$ display_name和$ value。

請幫忙!我知道這是非常小的事情。

回答

0

想通了。似乎變量不被識別,所以查找/替換具有唯一值的作品。

代替

cat $emailtemplate 

這是通過在模板中%% DISPLAY_NAME %%和%%值%%,使他們可以與變量替換

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