2016-09-29 60 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